AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat...

21
Algoritma Algoritma Pemrograman Pemrograman Pertemuan Ke-3 (Tipe Data dan Nama) Rahmady Liyantanto S1 Teknik Informatika-Unijoyo

Transcript of AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat...

Page 1: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

AlgoritmaAlgoritma PemrogramanPemrogramanPertemuan Ke-3(Tipe Data dan Nama)

Rahmady Liyantanto

S1 Teknik Informatika-Unijoyo

Page 2: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

SubSub PokokPokok BahasanBahasan

� Pendahuluan� Tipe Dasar� Tipe Bentukan� Nama

S1 Teknik Informatika-Unijoyo

Page 3: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

PendahuluanPendahuluan

� Tipe adalah pola representasi data dalamkomputer.

� Tipe data dapat dikelompokkan menjadidua macam:

1) Tipe dasar tipe yang dapat langsungdipakai

2) Tipe bentukan hasil bentukan dari tipedasar

S1 Teknik Informatika-Unijoyo

Page 4: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

TipeTipe DasarDasarq Bilangan logikaq Bilangan bulatq Bilangan riilq Karakterq String

S1 Teknik Informatika-Unijoyo

Page 5: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

BilanganBilangan LogikaLogika� NamaTipe: Boolean� Domain Nilai:

q benar (true): biasanya dinyatakan dengan angka 1

q salah (false):biasanya dinyatakan dengan angka 0

� Konstanta: true dan false

� Operasiàbiasanya disebut sebagai operasi logika atau operasiboolean. Operator logika yang umum digunakan: not, and, or dan xor

� Tabel kebenaran (truth table):

S1 Teknik Informatika-Unijoyo

Page 6: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

BilanganBilangan BulatBulat [1][1]

� NamaTipe: Integer� Domain Nilai: misal pada kompilator Turbo Pascal,

dapat direpresentasikan ke dalam lima macam tipe:

S1 Teknik Informatika-Unijoyo

Page 7: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

BilanganBilangan BulatBulat [2][2]

� Konstanta: konstanta untuk nilai bertipe bilangan bulatharus ditulis tanpa mengandung titik desimal.

Contoh : 15, -7, 0, 677� Operasi:1) Operasi Aritmatikaàoperasi aritmatika terhadap bilangan

bulat dengan sembarang operator aritmatika menghasilkannilai yang bertipe bilangan bulat juga.Macam-macam operator aritmatika :

+ − * div mod2) Operasi Perbandingan operasi perbandingan terhadap

bilangan bulat dengan salah satu operator relasionalmenghasilkan nilai boolean (true atau false).Macam-macam operator perbandingan :

< > = ≠ S1 Teknik Informatika-Unijoyo

Page 8: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

BilanganBilangan RiilRiil [1][1]

� NamaTipe: Real� Domain Nilai: misal pada kompilator

Turbo Pascal, dapat direpresentasikan kedalam empat macam tipe:

S1 Teknik Informatika-Unijoyo

Page 9: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

BilanganBilangan RiilRiil [2][2]� Konstanta : untuk nilai bertipe bilangan riil harus ditulis dengan

mengandung titik desimal.

Contoh : 0.15; -7.566+E9; 0.0; 677.1

� Operasi :

1) Operasi Aritmatika operasi aritmatika terhadap bilangan riil dengansembarang operator aritmatika menghasilkan nilai yang bertipebilangan riil juga.

Macam-macam operator aritmatika :

+ − * div2) Operasi Perbandingan operasi perbandingan terhadap bilangan riil

dengan salah satu operator relasional menghasilkan nilai boolean(true atau false).

Macam-macam operator perbandingan :

< ≥ ≤ ≠ >

S1 Teknik Informatika-Unijoyo

Page 10: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

KarakterKarakter� Nama Tipe : Char

� Domain Nilai : adalah semua huruf di dalam alfabet (‘a’..’z’, ‘A’..’Z’),angka desimal (0..9), tanda baca (‘.’, ‘:’, ‘!’, ‘?’, dan lainlain), operatoraritmetik (‘+’, ‘-‘, ‘*’, ‘/’), dan karakter-karakter khusus seperti (‘$’, ‘#’,‘@’, ‘^’, ‘~’, dan lain-lain). Daftar karakter yang lengkap dapat dilihat didalam buku-buku yang memuat tabel ASCII.

� Konstanta : konstanta untuk nilai bertipe karakter harus diapit olehtanda petik tunggal.

Contoh : ‘A’; ‘8’; ‘.’; ‘$’

� Operasi : operasi perbandingan terhadap karakter dengan salah satuoperator relasional menghasilkan nilai boolean (true atau false).

Macam-macam operator perbandingan :

< ≥ ≤ ≠ >

S1 Teknik Informatika-Unijoyo

Page 11: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

StringString� NamaTipe : String

� Domain Nilai : adalah deretan karakter yang didefinisikan pada ranah karakter.

� Konstanta : konstanta untuk nilai bertipe string harus diapit oleh tanda petik

tunggal.

Contoh : ‘Bangkalan’; ‘ABCDE’; ‘1234’; ‘y’

� String kosong (null) adalah string yang panjangnya nol, dan dilambangkan dengan ‘’

(string kosong adalah sama dengan karakter kosong)

� Operasi :

1) Operasi Penyambungan

Operator : +

Contoh : ‘Teknik’+‘Informatika’ = ‘TeknikInformatika’

2) Operasi Perbandingan

Operasi perbandingan terhadap string dengan salah satu operator relasional

menghasilkan nilai boolean (true atau false).

Macam-macam operator perbandingan :

< ≥ ≤ ≠ >S1 Teknik Informatika-Unijoyo

Page 12: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

TipeTipe BentukanBentukan� Tipe bentukan adalah tipe yang dibentuk (dan diberi nama)

dari satu atau lebih tipe dasar. Operasi terhadap komponenbertipe dasar dilakukan seperti yang didefinisikan pada tipedasar. Operasi terhadap keseluruhan tipe mungkindidefinisikan atau tidak.

� Dalam notasi algoritma, sebuah tipe bentukan berupakomposisi elemen dituliskan dengan notasi:

S1 Teknik Informatika-Unijoyo

type nama type < elemen1 : type1,elemen2 : type2,elemen3 : type3,.......... >

Page 13: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

ContohContohTipeTipe BentukanBentukan [1][1]

Contoh : type Titik

{ type titik menyatakan absis dan ordinat real pada sumbu kartesian }

type Titik : record <x:real,y:real>

Jika dideklarasikan :

P : Titik { artinya : P adalah sebuahTitik }

Cara mengacu/mengakses nilai elemen yang tersimpan dalam P adalah :

P.x { menghasilkan absis bertipe real }

P.y { menghasilkan ordinat bertipe real }

� Domain nilai : <real, real>

� Konstanta : < 1.3 , 2.2 > ; < 0.01 , 100.01 >

� Operator :

Operator terhadap Titik harus dibuat

Operasi real terhadap P.x dan P.y

S1 Teknik Informatika-Unijoyo

Page 14: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

ContohContohTipeTipe BentukanBentukan [2][2]Contoh : type Jam { type Jam menyatakan representasi jam dalam notasi hh:mm:ss

dengan hh bernilai [0..23], mm bernilai [0..59] dan ss bernilai [0..59] }

type Jam : record

<hh : integer, {0..23} { jam }

mm : integer, {0..59} { menit }

ss : integer {0..59} { detik }>

Jika dideklarasikan :

J : Jam { artinya : J adalah sebuah Jam }

Cara mengacu/mengakses nilai elemen yang tersimpan dalam J adalah :

J.hh { menghasilkan bagian jam bertipe integer {0..23} }

J.Mm { menghasilkan bagian menit bertipe integer {0..59} }

J.ss { menghasilkan bagian detik bertipe integer {0..59} }

� Domain nilai : <integer, integer, integer>

� Konstanta : < 1, 0, 6 > ; < 17, 10, 31 >

� Operator :

Operator terhadap Jam harus dibuat

Operasi integer terhadap J.hh, J.mm dan J.ss

S1 Teknik Informatika-Unijoyo

Page 15: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

NamaNama

q Peubah (variable)q Konstanta (constant)q Tipe bentukanq Nama Fungsiq Nama Prosedur

S1 Teknik Informatika-Unijoyo

Page 16: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

NamaNama PeubahPeubah

� Peubah adalah tempat penyimpan data didalam memori yang isinya dapat diubah

S1 Teknik Informatika-Unijoyo

DEKLARASIA,B,C : integerx,y : realch : char

Page 17: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

NamaNama KonstantaKonstanta

� Konstanta adalah tempat penyimpan datadi dalam memori yang isinya tetap dantidak dapat diubah

S1 Teknik Informatika-Unijoyo

DEKLARASIconst phi : 3.14const max : 100

Page 18: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

NamaNama TipeTipe BentukanBentukan

� Nama tipe bentukan diberikan olehpembuat program

S1 Teknik Informatika-Unijoyo

DEKLARASItype Titik:record <x:real,y:real>type Jam:record<hh:integer,hh:integer,hh:integer>P : TitikJ : Jam

Page 19: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

NamaNama FungsiFungsi dandan ProsedurProsedur� Konversi_Real_Integer adalah nama fungsi.

� Tukar adalah nama prosedur.

S1 Teknik Informatika-Unijoyo

DEKLARASIfunction Konversi_Real_Integer(input I : real:)à integer{ Mengkonversi harga i yang bertipe real menjadi harga ekivalen yang bertipeinteger }

DEKLARASIprocedureTukar(input/output A : integer,

input/output B : integer){ Kondisi awal : A dan B terdefinisi, A=a dan B=b }{ Kondisi akhir : A=b dan B=a }{ Proses : Mempertukarkan nilai A dan B }

Page 20: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

KesimpulanKesimpulan� Tipe data dapat dikelompokkan menjadi dua

macam, yaitu tipe dasar (bilangan logika, bilanganbulat, bilangan riil, karakter dan string) dan tipebentukan

� Ada lima macam nama yang digunakan untukmengidentifikasikan dalam algoritma, yaituPeubah (variable), Konstanta (constant), Tipebentukan, Nama Fungsi dan Nama Prosedur

S1 Teknik Informatika-Unijoyo

Page 21: AlgoritmaAlgoritma Pemrograman Pemrograman · TipeTipe Dasar Dasar qBilangan logika qBilangan bulat qBilangan riil qKarakter qString S1 Teknik Informatika-Unijoyo. BilanganBilangan

DaftarDaftar PustakaPustaka� Jogiyanto HM [1989]. Turbo Pascal, Yogyakarta: Andi

Offset.� Noor Ifada [2005]. Diktat Matakuliah Algoritma

Pemrograman (Hibah Kompetisi A1), Bangkalan:Jurusan Teknik Informatika, Universitas Trunojoyo.

� Rinaldi Munir [2003]. Algoritma dan Pemrogramandengan Pascal dan C edisi Kedua, Bandung:Informatika.

S1 Teknik Informatika-Unijoyo