Algoritma dan Pemrograman Oleh: Eddy Prasetyo N
Konten
Definisi Tipe Tipe Dasar:
Boolean Bulat Riil karakter
Tipe Komposisi:
Bentukan Enumerasi
Definisi TYPE Definisi: Pola representasi suatu data dalam komputer
Kegunaan: Mendefinisikan objek yang akan diprogram
Mendefinisikan type berarti Menentukan nama type dalam kamus
Definisi domain harga Konvensi penulisan konstanta bertype tsb Operator terhadap objek bertype tsb
Jenis–jenis TYPE
Type dasar
Bilangan logika/boolean
Bilangan bulat Bilangan riil
Karakter
Bilangan logika
Tabel kebenaran operator boolean
Bilangan bulat
Bilangan riil
Karakter
String
Tipe Dasar dalam JAVA Bhs Algoritma Integer
JAVA
Char
long Int short float double char
String
String
boolean
boolean
Real
Deklarasi Tipe Dasar pada JAVA public class TipeData { public static void main (String args[ ]) { int x, y; // declare integer variables float z = 3.414f; // declare and assign floating point double w = 3.1415;// declare and assign double boolean truth = true; // declare and assign boolean char c; // declare character variable String str; // declare String variable String str1 = "bye“;// declare and assign String variable c = 'A'; // assign value to char variable str = "Hi out there!";// assign value to String variable x = 6; y = 1000; // assign values to int variables } }
Type Enumerasi Type yang definisi domainnya tidak dilakukan menurut suatu aturan (by definition) melainkan dengan melakukan “enumerasi” atau menyebut satu per satu nilai anggotanya
Katakunci Pada type enumerasi dikenal cara akses suatu nilai anggota melalui katakunci First, yaitu anggota nilai yang pertama
Last, yaitu anggota nilai yang terakhir
Successor(elemen) yaitu anggota nilai yang berikutnya dari elemen Predesesor(elemen) yaitu anggota nilai yang sebelumnya dari elemen
Contoh Type Hari
Deklarasi JavaTipe Enumerasi Class enumerasi{ enum hari {senin, selasa, rabu, kamis,jumat,sabtu, minggu}; public static void main(String[ ] args){ hari H; H=hari.minggu; } }
Deklarasi JavaTipe Enumerasi Class enumerasi{ enum (senin, selasa, rabu, kamis,jumat,sabtu, minggu)hari; public static void main(String[ ] args){ hari H=minggu; } }
Type bentukan
Suatu TYPE yang dibentuk (dan diberi nama) dari beberapa komponen bertype tertentu, jadi merupakan kumpulan elemen bertype dasar atau bertype yang sudah dikenal
Notasi Type Bentukan Type nama_type <
elemen_1 : type_1, elemen_2 : type_2, elemen_3 : type_3, ……………………>
Contoh 1: Type Point Type point menyatakan absis & ordinat real pada sumbu kartesian
Notasi algoritmik
Type point: < x: real, {absis} y: real {ordinat} >
Deklarasi variabel Deklarasi variabel P
P : point { artinya P adalah sebuah point }
Cara mengacu elemen P
P.x P.y
{menghasilkan nilai absis bernilai real} {menghasilkan nilai ordinat bernilai real}
Domain:
Konstanta: <5.0,6.0> <6.0,100.0> Operator: Operator terhadap point harus dibuat:
Operator aritmatika (+,-,dot product, cross product) Operator relasional (EQ, NEQ) Operator lain (IsOrigin, IsOnSbX, dll)
Operasi real terhadap P.x dan P.y
Tipe Terstruktur dalam JAVA class Point { float x; float y; Point(){ } } class CobaPoint{ Point p1; ....... Public static void main(String[] args){ p1=new Point(); p1.x=2.0; p1.y=3.0; } }
Contoh 2: Type JAM Type JAM menyatakan representasi JAM dalam notasi HH:MM:SS
HH bernilai [0..23] MM bernilai [0..59]
SS bernilai [0..59]
Notasi Algoritmik Notasi algoritmik
Type JAM : < >
HH: integer[0..23], MM: integer[0..59], SS: integer[0..59]
{jam} {menit} {detik}
Deklarasi variabel Deklarasi variabel J
J: JAM
{artinya: J adalah sebuah JAM}
Cara mengacu elemen J
J.HH J.MM J.SS
{menghasilkan nilai bagian jam} {menghasilkan nilai bagian menit} {menghasilkan nilai bagian detik}
Domain: < integer, integer, integer > Konstanta: <0,0,0> <15,20,30> Operator: Operator terhadap JAM harus dibuat (konversi jamtodetik, detiktojam, operasi aritmatika, dll) Operasi integer terhadap komponen HH,MM,SS (J1=J2, J1≠J2,J1<J2, dll)
Contoh 3. Sistem Penjadwalan type JADWAL menyatakan representasi sistem penjadwalan di STTTelkom
type Jam type Dosen type Matakuliah type Kelas
: integer[7..17] : string : string : string
Notasi algoritmik Notasi Algoritmik
type JADWAL : < J: Jam, D: Dosen, Mk: Matakuliah, K: Kelas >
Deklarasi Variabel Jika dideklarasikan sebuah NAMA Jadwal_kuliah
Jadwal_kuliah: JADWAL Cara mengacu elemen di JADWAL
Jadwal_kuliah.J Jadwal_kuliah.D Jadwal_kuliah.MK Jadwal_kuliah.K
Domain: sesuai dengan domain masing-masing komponen Konstanta: <7,’EPN’,’ IS1313’,’SI3201’> <11,’AVO’,’IE3713’,’TI3002’>
Operator:
Untuk jadwal, tidak terdefinisi operator Tapi kita dapat mengadakan Operasi integer thd Jadwal_kuliah.J
Operasi string thd Jadwal_kuliah.D, dst
Reference:
Liem, Inggriani. Diktat kuliah IF223 Algoritma & Pemrograman. Jurusan Teknik Informatika. ITB. 1999 M. Shalahuddin, Rosa AS, Belajar Pemrograman dengan Bahasa C++ dan JAVA, Dari Nol menjadi Handal, Informatika 2007