PEMBAHASAN KHUSUS TIPE DATA LANJUTAN

dokumen-dokumen yang mirip
ARRAY. contoh : A[1] := 10; var A : array[1..10] of integer; A[nomer_indeks]

Variabel dan Tipe Data Kusrini 1, Heri Sismoro 2

Konsep Dasar Pemrograman Prosedural

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Pengenalan Pascal/DevPascal

Pertemuan 4 KONSEP TIPE DATA

ARRAY (LARIK) Altien Jonathan Rindengan, S.Si., M.Kom.

ARRAY. Larik / array adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama.

A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10] Nilai elemen array Index array Inelemen array

TIPE DATA DALAM PASCAL

Contoh soal Struktur Program Pascal (Seleksi tingkat propinsi TOKI 2004)

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-5

Konsep tipe data pada bahasa pemrograman mempunyai standar bentuk umum, yaitu :

MODUL 1. Struktur Bahasa PASCAL secara umum

BAB 6 Array Dua Dimensi

Pertemuan 6 Array Objektif: 1. Memahami cara mendeklarasi tipe indeks dalam array 2. Dapat membuat program sederhana menggunakan array Pertemuan 6 53

Modul 1 Pengantar Bahasa Pascal

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Algoritma Pemrograman I KONSEP DASAR

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs.

MODUL STRUKTUR DATA. Erna Kumalasari Nurnawati

Tipe Data. Definisi Tipe Data

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

Dasar Komputer & Pemrograman 2A

PEMROGRAMAN BERORIENTASI OBJEK. Tipe Data. Budhi Irawan, S.Si, M.T

Tipe Data dan Operator dalam Pemrograman

MATERI 4 PENYELEKSIAN KONDISI

SMA SANTO PAULUS PONTIANAK

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 1 & 2

PRAKTIKUM 7 TIPE DATA TERSTRUKTUR. Larik : deretan data yang punya type data sejenis. Misalnya : Daftar Nomor Telpon, Tabel Pajak dll.

Algoritma,Flowchart, Konsep

Soal hari Jumat (16/10) Latihan 10 MS

ARRAY KONSEP ARRAY. Type Angka = array [1..10] of integer; Var A:Angka;

ARRAY. Brigida Arie Minartiningtyas, M.Kom

Algoritma Pemrograman I

SOAL DAN JAWABAN UTS PEMROGRAMAN DASAR KELAS X

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

JENIS-JENIS DATA DAN STATEMEN INPUT OUTPUT

Algoritma HitungGajiKaryawan Deklarasi NIK,Nama,Jabatan : String Gaji, Tunj, Pajak, Gaber : Real

Pemrograman Dasar Pascal

Algoritma dan Pemrograman Array

Teori Algoritma. Struktur Algoritma

Bambang Heru S Departemen Teknik Kimia Universitas Indonesia

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

Konsep Dasar Pemrograman

STRUKTUR KONTROL. IF kondisi THEN [blok] Statement ELSE [blok] Statement. IF kondisi THEN BEGIN END; IF kondisi THEN BEGIN IF kondisi THEN BEGIN

Array, Record, sorting : Elektro Unud (MSU) Page 1 of 13

BAB 2 BAGAIMANA MENULISKAN PROGRAM PASCAL

STRUKTUR BAHASA PEMROGRAMAN

Sesi/Perkuliahan ke: II

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

Tipe Data. Adri Priadana

Chapter 3.2 : Tipe, Nama dan Nilai

Belajar itu, Tidak harus menunggu materi dari guru Inisiatif Mencari itulah BELAJAR.

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Dasar Komputer & Pemrograman 2A

BAB I PENGENALAN STRUKTUR DATA DAN ALGORITMA

Algoritma Pemrograman

Memulai Pemrograman Pascal dengan Delphi Console 1. Buka aplikasi delphi 2. Pilih File New Other Console Application

Struktur Data. Pertemuan 2

Keyword,Tipe data & Variabel. Keywords pada c Tipedata Variabel Konstanta

STRUKTUR KONTROL. Struktur WHILE-DO Mempunyai struktur sebagai berikut : Bentuk Umum : WHILE condition Do statement Bentuk Proses (flow chart) :

Algoritma Pemrograman

Algortima. Teguh Cahyono, ST.M.Kom

Pengantar dalam Bahasa Pemrograman Turbo Pascal

A. TEMA DAN TUJUAN KEGIATAN PEMBELAJARAN

P A S C A L D A S A R

Tabel 1. Jenis data integer Ukuran memori (dalam byte)

KONSEP DASAR BAHASA PASCAL

Algoritma Pemrograman

Algoritma Pemrograman

Pertemuan 2 Operasi String

Konsep Dasar Pemrograman Pascal

Array dan record. Pengertian

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

Array (Tabel) Tim Pengajar KU1071 Sem /11/3 TW/KU1071 1

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

Soal hari Selasa (13/10) Latihan 7 AN

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

PRAKTIKUM 4 STATEMENT KENDALI

Pengenalan Algoritma dan Pemrograman Pascal

Algoritma dan Struktur Data

AP2a (Pascal) Akuntansi Kelas 1 Semester 2. Hana Pertiwi S.T

Pembahasan X = Rp Tarif Pajak = 5% 8% Harga televisi + pajak 5% = % = % = % =

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

Teori Algoritma TIPE DATA

Algoritma Pemrograman

PROSES PENJUALAN BUKU

BAB XI ARRAY (LARIK)

PENJUMLAHAN DAN PENGURANGAN MATRIKS

Catatan Kuliah PAM 282 STRUKTUR DATA

OPERASI PERNYATAAN KONDISI

Pengenalan C++ Oleh : Dewi Sartika

Modul I. Modul Praktikum Bahasa Pemrograman Pascal

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

MODUL I DAN 2 PENGANTAR dan IDENTIFIER PASCAL

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Transkripsi:

PEMBAHASAN KHUSUS TIPE DATA LANJUTAN Tipe dasar sudah cukup untuk dapat dipakai memproses sebagian besar data yang ada, namun tipe dasar tidak cukup untuk memproses banyak data, apalagi data yang memiliki struktur tertentu. Untuk menyelesaikan persoalan pengolahan data tertentu, suatu tipe data baru dapat dibentuk berdasarkan tipe data dasar (primitif). *) I. Tipe Enum Tipe enum adalah suatu tipe yang elemennya didefinisikan sendiri satu per satu. Dalam representasinya sebenarnya tipe enum ini adalah sebuah integer yang diberi nama. Dalam Pascal tipe ini didefinisikan dengan cara menyebut elemen-elemennya: type hari = (senin, selasa, rabu, kamis, jumat, sabtu, minggu); warna = (merah, kuning hijau); Tipe enum tidak bisa dibaca (dengan readln) atau ditulis (dengan writeln), tipe jenis ini hanya bisa diberi nilai dengan assignment. *) II. Tipe Enumerasi Tipe enumerasi adalah tipe yang elemen-elemennya bisa disebutkan satu persatu (bisa dicacah), integer, enum, dan karakter adalah contoh tipe enumerasi. Tipe real tidak bisa dicacah satu persatu, tipe string juga tidak bisa dicacah satu per satu. *) III. Subtipe Integer Integer memiliki range tertentu sesuai dengan jumlah bit yang dipakai oleh integer. Terkadang dalam kasus tertentu hanya diperlukan subrange (sebagian range) integer, misalnya untuk mengolah data jam yang berbasis 60 (seksadesimal), yang diperlukan hanyalah angka dari 0 sampai 59, angka di luar itu sifatnya tidak valid. Subtipe integer didefinisikan dengan menyebutkan range untuk tipe tersebut.

type jam = 1..12; menit = 0..59; detik = 0..59; *) IV. Tipe SET (himpunan) Tipe himpunan adalah tipe yang bisa menerima himpunan nilai yang masingmasing elemennya adalah tipe enumerasi. Perhatikan: tidak semua bahasa pemrograman prosedural memiliki tipe SET. Deklarasi tipe himpunan adalah: type hari = (senin, selasa, rabu, kamis, jumat, sabtu, minggu); setkar = set of char; harihari = set of hari; Operasi yang tersedia untuk himpunan meliputi: gabungan (union), irisan (intersection), dan pengurangan elemen himpunan, serta pengecekan Tipe set tidak bisa dibaca dan ditulis secara langsung menggunakan read/readln/write/writeln. *) V. Tabel Berdimensi Satu (Array) Jenis variabel yang telah diberikan hanya bisa digunakan untuk menyimpan sebuah nilai saja. Dalam banyak kasus kita perlu menyimpan banyak nilai yang serupa untuk diproses, misalnya data nilai mahasiswa dalam suatu kelas untuk dihitung rata-ratanya. Tabel adalah tipe data yang dapat menampung sejumlah data dengan tipe sejenis, jumlah data yang dapat disimpan dibatasi oleh kemampuan kompilator dan komputer. Deklarasi tabel integer yang Var tabint : array [1..100] of integer; Dengan deklarasi semacam itu sebuah tabel yang terdiri dari 100 elemen integer dibentuk, dan dapat diakses melalui indeksnya (antara 1 sampai 100, inklusif). Untuk mengakses elemen tabel ke-n gunakan sintaks: tabint[n]. Tabel dapat diproses menggunakan loop (biasanya loop for, karena indeks tabel sudah jelas), contoh

berikut akan menjumlahkan seluruh elemen tabel integer yang dideklarasikan di atas (jumlah dan i bertipe integer): Jumlah := 0; for i:=1 to 100 do jumlah := jumlah + tabint[i]; writeln('jumlah elemen tabel adalah:', jumlah); Array Dimensi Adalah bentuk tipe data terstruktur yang terdiri dari sejumlah komponenkomponen yang mempunyai komponen data yang sama. Banyak komponen dalam Larik/Array disebut indeks( nilai Indeks adalah Ordinal). PEMBAGIAN ARRAY TERBAGI ATAS 1. Array Tidak Berdimensi Array Satu a. Array Type Sederhana Bu 1. Type NamaTipeArray = Array [Nilaiawal..NilaiAkhir] oftipe data; Var VarArray : NamaTipeArray; 2. Var NamaArray : Array [Nilaiawal..NilaiAkhir]of tipe Data; 3 Array dengan tipe Data Skalar; Contoh 1. Type Tangka =Array[1..100] of byte; Var angka = Tangka; 2. Var Angka = Array [1..50] of shortint; {Program Array dimensi Satu} uses crt; type infomenu = array[1..5] of string[30]; var dafmenu : infomenu; i,pilih : byte; clrscr; dafmenu[1]:='nasi GORENG'; dafmenu[2]:='mie ORENG'; dafmenu[3]:='lontong GULAI'; dafmenu[4]:='picel LOTONG '; dafmenu[5]:='sate '; writeln(' menu kafe koe'); writeln(' =============='); for i:=1 to 5 do WRITELN(I, '.',DAFMENU[I]); end; WRITELN; WRITE('PILIHAN SAYA: '); READLN(PILIH); IF PILIH=1 THEN WRITELN(DAFMENU[1]) ELSE IF PILIH=2 THEN WRITELN(DAFMENU[2]); READLN; end. b. Array dengan Type data Skalar BU:

Type NamaTipe = ( Kons1,Kons2,Kons3, KonsN) ; Var Namavar = Array [NilaiAwal..NilaiAkhir] of NamaTipe; Contoh : Type Thari = (Minggu, Senin,Selasa, Rabu,Kamis,Jum at,sabtu); Var JumlahJam : Array [1..24] of Thari; Kesimpulan Program Singkat Diatas 1. Tipe Data diatas mempunyai konstanta ada 7 (Minggu, Senin,Selasa, Rabu,Kamis,Jum at,sabtu ) 2. Variabel data mempunyai Jumlah Jam 1,2,3 24 Jam untuk 1 hari =24 Jam (1 s/d 24), jadi maksimal elemen yang dimiliki oleh Variabel Array hanya 24. 3. Masing-masing Elemen Array ( 1 S/D 24 ) hanya memilki nilai 7 (Minggu, Senin,Selasa, Rabu,Kamis,Jum at,sabtu ) c. Array dengan Type Data Sub Range Bu : Type NamaTipe = NilaiAwal..NilaiAkhir; Var NamaArray : Array [NamaTipe] of Tipe Data; Contoh 1. Type Jumlah = 1..5; Var Huruf : Array [jumlah] of char; 2. Type Jangkauan = 1..5; DataHuruf = Array [jangkauan] of Char Var Susunanhuruf = DataHuruf; d. Array Dengan Const Bu : 1.Const NamaKons1 = Nilaiterkecil; NamaKonst2 = Nilaiterbsear; Var NamaArray = Array [ NamaKonst1..NamaKonst2] of Tipe Data Contoh Const Terkecil = 1; Terbesar = 5; Var Huruf = Array [Terkecil..Terbesar] of char 2. Const X = Array [1..5] of Integer =( 1,20,30,40,50); e. Array Dengan Tipe Data Bu : Var NamaArray : Array [Tipe Data] of Tipe Data; Contoh Var Huruf : Array [Byte] of Integer; 2. Array Dimesi Dua/ Banyak Bu

Type NamaTP =Array[Awalbaris..AkhirBaris,AwalKolom..AkhirKolom] of Tipe Data ; Var NamaArray : NamaTP; Type Var Jumlah = array [1..5.1..5] of Byte; Angka = Jumlah; {Program Arrray Dimensi Dua} uses crt; type Tangka = array[1..5,1..2] of byte; var Dafangka: Tangka; i,pilih : byte; clrscr; Dafangka[1,1]:=100; Dafangka[1,2]:=150; Dafangka[2,1]:=40; Dafangka[2,2]:=50; Dafangka[3,1]:=60; Dafangka[3,2]:=80; Dafangka[4,1]:=120; Dafangka[4,2]:=140; Dafangka[5,1]:=250; Dafangka[5,2]:=350; for i:=1 to 5 do for J:=1 to 2 do WRITELN(DAFANGKA[I,J]:5); END; END; READLN; end.

Hasil program 100(B1, K1) 150 (B1,K2) 40 (B2, K1) 50 (B2,K2) 60 (B3, K1) 80 (B3,K2) 120(B4, K1) 140 (B4,K2) 250(B5, K1) 350 *) VI. String (B5,K2) Dalam Pascal String dapat dianggap sebagai tipe data dasar, namun dalam kebanyakan bahasa String hanyalah tipe data array of character. String dapat menampung serangkaian huruf dan angka. Suatu literal integer dapat ditulis seperti biasa: 5 atau 6, sedangkan literal string harus ditulis dengan diapit tanda kutip tunggal, seperti ini: 'ini string' Jika ada tanda kutip di dalam string, digunakan dua kutip tunggal, jadi untuk menuliskan string don't do that, harus seperti ini: 'don''t do that' *) VII. Operasi Terhadap String Ada beberapa operasi untuk string, namun yang akan dibahas di bagian ini hanyalah instruksi penambahan atau konkatenasi string. String dapat digabungkan seperti ini: program concat_string; var s1, s2, s3 : string s1:= 'hello'; Tim Olimpiade Komputer Indonesia Konsep Dasar Pemrograman Prosedural 41 s2:='world'; s3:= s1 + ' '+ s2; writeln(s3); end. Nilai string s3 adalah 'hello world' yang merupakan gabungan dari string s1, spasi, dan string s2. Sebuah karakter bisa juga digabung atau disambungkan dengan sebuah karakter: var s:string;

c:char; writeln('masukkan sebuah huruf:'); readln(c); s:= 'Huruf yang Anda masukkan adalah '+c; writeln(s); end. Modul Pelatihan Olimpiade Komputer Operasi terhadap string yang lain dilakukan dengan menggunakan fungsifungsi string yang tergantung pada kompilator Pascal. Fungsi-fungsi string yang tersedia untuk FreePascal dapat dilihat pada buku FreePascal. *) VIII. String sebagai Array of Character String sebenarnya adalah tabel berdimensi satu dengan elemennya berupa karakter, indeks ke-0 tabel berisi panjang string saat ini, dan indeks ke 1 dan seterusnya berisi data karakter yang ada pada string. Pada string seperti ini: s := 'hello'; maka s[1] = 'h', s[2]='e', dst. Sedangkan ord(s[0]) akan berisi panjang string yaitu 5. Pengaksesan panjang string melalui elemen ke-0 tidak disarankan, karena tergantung pada implementasi Pascal, elemen string sebaiknya hanya diakses mulai dari elemen 1 sampai panjang string. *) IX. Tabel Berindeks Banyak (Tabel Multi Dimensi) Terkadang kita perlu memiliki tabel dengan dimensi lebih dari satu. Matriks merupakan salah satu contoh tabel dengan banyak dimensi (tabel multi dimensi). Tabel multi dimensi dipandang oleh semua bahasa yang mengenal tipe data tabel satu dimensi, karena tabel dua dimensi bisa dipandang sebagai tabel dari tabel. Dalam Pascal, tipe tabel multi dimensi dapat dideklarasikan seperti ini: var matriks : array [1..4, 1..5] of integer; untuk dimensi yang lebih dari dua, tambahkan koma setelah 1..5 dan tambahkan range indeks untuk

dimensi berikutnya dan seterusnya. alternatif lain adalah: var matriks : array [1..4] of array [1..5] of integer; Modul Pelatihan Olimpiade Komputer Pengaksesan elemen tabel dilakukan dengan memberikan indeks baris dan kolom: matriks[baris, kolom] := nilai; atau: matriks[baris][kolom] := nilai; Pemrosesan tabel multi dimensi umumnya dilakukan dengan nested loop. Hal yang perlu diperhatikan dalam pemrosesan tabel dengan loop adalah bahwa indeks tabel tidak boleh lebih dari yang sudah dideklarasikan. Tabel berdimensi dua bisa dipandang sebagai matriks, tabel berdimensi tiga dapat dipandang sebagai ruang. Tabel dengan dimensi lebih dari tiga tidak disarankan untuk digunakan dalam program.