TIPE DATA, NAMA dan EKSPRESI MODUL KE-5 TIPE DATA, NAMA dan EKSPRESI
TIPE Tipe sebuah objek menentukan himpunan nilai yang dapat dimilikinya dan operasi yang dapat dilakukan pada objek tersebut. Terdapat dua jenis tipe data, yaitu : Tipe dasar Merupakan tipe data yang dapat langsung digunakan. Tipe bentukan Merupakan tipe data yang dibentuk dari tipe data dasar atau tipe bentukan lain yang telah didefinisikan sebelumnya.
TIPE DASAR Dalam dunia pemrograman, yang termasuk sebagai tipe dasar adalah bilangan lojik (bilangan logika), bilangan bulat, bilangan riil, karakter dan string. Bilangan Lojik Nama tipe : boolean (diambil dari nama matematikawan Inggris, George Boole) Ranah nilai : true (benar) atau false (salah) Konstanta : true dan false Operasi : operasi logika (operasi boolean)
Operator : and, or, xor, not B A and B A or B A xor B not A not B True False
Bilangan Bulat Nama tipe: integer Ranah nilai:byte (0..255) shortint (-128..127) word (0..65535) integer (- 2768..32767) longint (-2147483648.. 2147483647) Konstanta: ditulis tanpa mengandung titik desimal Operasi : operasi aritmatika dan operasi perbandingan Operator : operasi aritmatika + (tambah), - (kurang), * (kali), div (bagi), mod (sisa hasil bagi) operasi perbandingan <, , >, , =,
Bilangan Riil Nama tipe: real (floating-point) Ranah nilai:minus tak hingga sampai plus tak hingga Konstanta: ditulis dengan tanda titik desimal Operasi : operasi aritmatika dan operasi perbandingan Operator : operasi aritmatika + (tambah), - (kurang), * (kali), / (bagi) operasi perbandingan <, , >, ,
Karakter Nama tipe: char Ranah nilai:semua huruf abjad, semua tanda baca, angka (0, .., 9), karakter khusus seperti ‘&’, ‘%’, ‘#’, ‘@’, ‘ ’ dan sebagainya Konstanta: diapit oleh tanda petik tunggal Operasi : operasi perbandingan Operator : operasi perbandingan <, , >, , =,
String (Untaian karakter dengan panjang tertentu) Nama tipe: string Ranah nilai:deretan karakter yang telah didefinisikan pada ranah karakter Konstanta: diapit oleh tanda petik tunggal Operasi : operasi penyambungan (concatenation) dan operasi perbandingan Operator : operasi concatenation + operasi perbandingan <, , >, , =,
TIPE BENTUKAN Merupakan tipe data yang didefinisikan sendiri oleh pemrogram (user-defined data type). Yang termasuk tipe bentukan adalah tipe dasar yang diberi nama tipe baru dan tipe terstruktur/record/ rekaman.
Tipe dasar yang diberi nama tipe baru Pemberian nama baru untuk sebuah tipe dasar didahului dengan kata type. Ranah nilai, konstanta, dan lain sebagainya tetap tidak berubah, sesuai dengan tipe dasar aslinya. Sebagai contoh : type BilanganBulat : integer
Tipe terstruktur Tipe yang berbentuk rekaman (record). Rekaman disusun oleh satu atau lebih field. Setiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang telah didefinisikan sebelumnya.
Contoh mendefinisikan tipe terstruktur Titik dalam bidang kartesian dinyatakan sebagai (x, y). Maka, titik dapat dinyatakan dengan sebagai tipe bentukan dengan x dan y sebagai fieldnya. type Titik : record <x : real, y : real> P : Titik P adalah peubah bertipe Titik, sehingga untuk mengacu tiap field pada P adalah : P.x atau P.y
Pendefinisian tanggal dalam kalendar Masehi menyebabkan hari akan dinyatakan dalam tanggal (dd), bulan (mm), dan tahun (yy). Tipe bentukan untuk tanggal adalah : type Tanggal : record < dd : integer, mm : integer, yy : integer> D : Tanggal D adalah peubah bertipe Tanggal. Untuk mengacu tiap field pada D adalah : D.dd atau D.mm atau D.yy
NAMA Nama digunakan sebagai pengidentifikasi “sesuatu“ dan pemrogram mengacu “sesuatu” itu melalui namanya. Adapun aturan penulisan nama dalam algoritma : Nama harus dimulai dengan huruf alfabet. Huruf besar atau huruf kecil tidak dibedakan. Karakter penyusun nama hanya boleh huruf, angka, dan karakter ‘_’.
Tidak boleh mengandung operator aritmatika, operator relasional, karakter khusus, dan tanda baca. Karakter –karakter di dalam nama tidak boleh dipisah menggunakan spasi. Spasi dapat diganti dengan karakter ‘_’. Panjang nama tidak dibatasi. Di dalam algoritma, objek yang diberi nama dapat berupa : Peubah (variable), Konstanta (constant), Tipe bentukan, Nama fungsi atau procedure
NILAI Nilai dapat berupa isi yang disimpan oleh nama peubah atau nama konstanta, nilai dari hasil penghitungan, atau nilai yang dikirim oleh fungsi. Peubah menyimpan nilai dari tipe tertentu.
Nilai dapat dimasukkan ke dalam nama peubah melalui beberapa cara, yakni : a. Pengisian secara langsung (assignment) Yaitu pengisian nilai ke dalam nama peubah langsung di dalam algoritma. Syaratnya tipe nilai yang dimasukkan harus sama dengan tipe peubahnya. Notasi pengisian secara langsung adalah . Sebagai contoh : S 10 {nilai berupa konstanta} A B {nilai dari peubah lain} Nilai_akhir (uts +uas ) / 2 {nilai dari ekspresi} b. Pembacaan Nilai peubah dapat diisi dari piranti masukan, misalnya dari keyboard. Dalam algoritma pernyataan pembacaan menggunakan notasi read. read(nama_mahasiswa) read(no_telepon)
EKSPRESI Cara penghitungan (komputasi) dalam algoritma yang menghasilkan sebuah nilai disebut dengan ekspresi. Ekspresi terdiri dari operand dan operator. Operand adalah elemen (nilai) yang dioperasikan dengan operator tertentu. Terdapat 3 jenis ekspresi, yaitu : Ekspresi numerik, ekspresi yang baik operand, operator dan hasilnya bertipe numerik. Contoh : 3 + 2, 12 div 4, dan sebagainya
b. Ekspresi relasional (ekspresi boolean), ekspresi yang operatornya terdiri dari operator perbandingan dan logika. Hasil ekspresi ini merupakan bilangan logika (true atau false). Contoh : not true, x < 10, dan sebagainya c. Ekspresi string, ekspresi yang operatornya adalah “+” (operator penyambungan). ‘Teknik ’ + ‘Informatika’
Menuliskan Nilai ke Piranti Keluaran Untuk menuliskan nilai ke piranti keluaran digunakan pernyataan write. Sebagai contoh : write(nama_mahasiswa) write(no_telepon)
LATIHAN Definisikan sebuah tipe terstruktur untuk menyatakan data nasabah di sebuah bank. Data nasabah terdiri dari atas field: nomor account, nama nasabah, alamat nasabah, kota nasabah, nomor telepon nasabah. Untuk setiap field, definisikan tipe data yang cocok. Definisikan sebuah tipe terstruktur untuk menyatakan data penerbangan di sebuah bandara. Data penerbangan terdiri atas: nomor penerbangan (misal GA101), bandara (kota) asal, bandara tujuan, tanggal keberangkatan, jam keberangkatan (departure time), jam datang (arrival time). Untuk setiap field, definisikan tipe data yang cocok.
LATIHAN 3. Definisikan tipe data yang cocok untuk program menampilkan Potongan=0.2, Gajipokok=1000000, Bonus=25000, Namaperusahaan=PT BUANA 4. Buat algoritma yang cocok untuk soal no.3 5. Buat program dalam bahasa Pascal untuk algoritma soal no.4
1. Type nasabah: record <no_account, nm_nasabah, alamat,kota,telepon:string> N: nasabah 2.Type jam:record<hh,mm,ss:integer> Type data:record<no, asal, tujuan:string, berangkat,datang:jam> M:jam K:data 3.potongan:real; Gaji pokok:longint; Bonus:integer; Namaperusahaan:string;
Buat algoritma untuk mencetak kata ‘ halo dunia ‘: Tanpa peubah Dengan peubah yang bertipe string Dengan peubah yag bertipe constanta