Presentasi 3 Tipe Data
-
Upload
api-3860309 -
Category
Documents
-
view
622 -
download
0
Transcript of Presentasi 3 Tipe Data
Algoritma dan Algoritma dan PemrogramanPemrograman
(Pertemuan 03)(Pertemuan 03)
Yance Sonatha, S.KomYance Sonatha, S.Kom
PendefinisianPendefinisiandandan
Tipe DataTipe Data
VARIABELVARIABEL
Variabel adalah suatu tempat atau Variabel adalah suatu tempat atau “wadah data” untuk menampung “wadah data” untuk menampung suatu nilaisuatu nilai
Variabel yang akan dipakai harus Variabel yang akan dipakai harus “dipesan” dulu dengan “dipesan” dulu dengan dideklarasikan dalam deklarasi dideklarasikan dalam deklarasi variabel (kamus)variabel (kamus)
Aturan Penulisan VariabelAturan Penulisan Variabel Nama variabel diawali dengan huruf. Nama variabel diawali dengan huruf.
Karakter kedua dan selanjutnya bisa Karakter kedua dan selanjutnya bisa berupa kombinasi angka dan huruf, tidak berupa kombinasi angka dan huruf, tidak boleh tanda baca lain dan spasiboleh tanda baca lain dan spasi
- contoh : Nilai1 nilai_fisika- contoh : Nilai1 nilai_fisika - contoh salah : 1nilai 1234a- contoh salah : 1nilai 1234a
Tidak boleh menggunakan operator hitung Tidak boleh menggunakan operator hitung ( + - / * %) dan juga tidak boleh ( + - / * %) dan juga tidak boleh menggunakan karakter-karakter khusus ( : menggunakan karakter-karakter khusus ( : ; , # @ $ & dan titik); , # @ $ & dan titik)
Aturan Penulisan VariabelAturan Penulisan Variabel(Sambungan)(Sambungan)
Tidak boleh memakai reserved words Tidak boleh memakai reserved words (kata-kata yang sudah mempunyai (kata-kata yang sudah mempunyai arti di dalam bahasa pemrograman)arti di dalam bahasa pemrograman)
Cacah karakter dalam variabel bisa Cacah karakter dalam variabel bisa sembarang, tetapi dalam beberapa sembarang, tetapi dalam beberapa versi semua karakter setelah versi semua karakter setelah karakter ke delapan diabaikankarakter ke delapan diabaikan
KONSTANTAKONSTANTA
Konstanta adalah data yang isinya tetap dan tidak Konstanta adalah data yang isinya tetap dan tidak berubah-ubah dalam programberubah-ubah dalam program
Operator matematikaOperator matematika
Operand-operand yang dipergunakan untuk operasi Operand-operand yang dipergunakan untuk operasi penjumlahan, pengurangan, perkalian, pembagian penjumlahan, pengurangan, perkalian, pembagian dan sisa pembagian (modulus) yang berbeda untuk dan sisa pembagian (modulus) yang berbeda untuk real maupun integerreal maupun integer
Operator logikaOperator logika
digunakan untuk mengoperasikan operand digunakan untuk mengoperasikan operand (konstanta, variabel,dll) secara logis. Operator-(konstanta, variabel,dll) secara logis. Operator-operator logika yang umum dalam bahasa operator logika yang umum dalam bahasa pemrograman adalah AND, OR, NOTpemrograman adalah AND, OR, NOT
TIPE DATATIPE DATA
Tipe adalah pola representasi suatu Tipe adalah pola representasi suatu data dalam komputer. Gunanya data dalam komputer. Gunanya untuk mendefinisikan objek yang untuk mendefinisikan objek yang akan diprogramakan diprogram
Ada tipe dasar yang sudah diberikan Ada tipe dasar yang sudah diberikan dan siap dipakai, ada tipe bentukan dan siap dipakai, ada tipe bentukan yang dibentuk dari tipe dasar atau yang dibentuk dari tipe dasar atau dari tipe bentukan/ komposisi yang dari tipe bentukan/ komposisi yang sudah dibuatsudah dibuat
TIPE DASAR(ORDINARY)TIPE DASAR(ORDINARY) Tipe dasar yang tersedia dalam suatu bahasa Tipe dasar yang tersedia dalam suatu bahasa
adalah tipe yang sudah didefinisikan,maka adalah tipe yang sudah didefinisikan,maka pemrogram dapat memakai nama tipe dan pemrogram dapat memakai nama tipe dan semua operator yang tersedia dan mentaati semua operator yang tersedia dan mentaati domain nilai yang disimpan dalam tipe tersebutdomain nilai yang disimpan dalam tipe tersebut
Tipe dasar biasanya tersedia dalam suatu bahasa Tipe dasar biasanya tersedia dalam suatu bahasa pemrograman dan digunakan dalam notasi pemrograman dan digunakan dalam notasi algoritmik adalah :algoritmik adalah :
- bilangan logika/boolean- bilangan logika/boolean - bilangan bulat- bilangan bulat - bilangan riil- bilangan riil - karakter- karakter
Bilangan Logika / BooleanBilangan Logika / Boolean
Nama : BooleanNama : Boolean Domain [true, false]Domain [true, false] Contoh konstanta : true falseContoh konstanta : true false Operator yang digunakanOperator yang digunakan
KELOMPOK Op ARTI HASIL
Operator Logik
and dan boolean
or atau boolean
Xor ekslusive or boolean
not negasi boolean
EQ ekivalensi boolean
nEQ negasi dari ekivalensi boolean
Hasil Operasi Operator BooleanHasil Operasi Operator Boolean
OperasiOperasi HasilHasil OperasiOperasi HasilHasil
true AND truetrue AND true truetrue true OR truetrue OR true truetrue
true AND falsetrue AND false falsefalse true OR falsetrue OR false truetrue
false AND truefalse AND true falsefalse false OR truefalse OR true truetrue
False AND False AND falsefalse
falsefalse false OR falsefalse OR false falsefalse
not falsenot false truetrue not truenot true FalseFalse
true EQ truetrue EQ true truetrue true XOR truetrue XOR true falsefalse
true EQ falsetrue EQ false falsefalse true XOR falsetrue XOR false truetrue
false EQ truefalse EQ true falsefalse false XOR truefalse XOR true truetrue
false EQ falsefalse EQ false truetrue false XOR falsefalse XOR false falsefalse
Bilangan Bulat / IntegerBilangan Bulat / Integer Nama : IntegerNama : Integer Domain : himpunan semua bilangan bulatDomain : himpunan semua bilangan bulat Contoh konstanta : 0 -3 123 -89 999Contoh konstanta : 0 -3 123 -89 999 Bilangan integer mempunyai keterurutan. Bilangan integer mempunyai keterurutan.
Keterurutan ini didefinisikan dengan:Keterurutan ini didefinisikan dengan: - suksesor x adalah x+1- suksesor x adalah x+1 - predesesor x adalah x-1- predesesor x adalah x-1 Contoh :Contoh : - suksesor 0 adalah 1 - predesesor -1 adalah -- suksesor 0 adalah 1 - predesesor -1 adalah -
22 - suksesor -1 adalah 0 - predesesor 3 adalah 2- suksesor -1 adalah 0 - predesesor 3 adalah 2 - suksesor 5 adalah 6- suksesor 5 adalah 6
Operator Pada IntegerOperator Pada IntegerKELOMPOKKELOMPOK OPOP ARTIARTI HASILHASIL
Operator Operator AritmatikaAritmatika
++ TambahTambah IntegerInteger
-- KurangKurang IntegerInteger
** KaliKali IntegerInteger
// BagiBagi RealReal
divdiv BagiBagi IntegerInteger
modmod Sisa pembagian bulatSisa pembagian bulat IntegerInteger
absabs Nilai AbsolutNilai Absolut IntegerInteger
^̂ PangkatPangkat IntegerInteger
Operator Operator relasional/ relasional/ perbandingaperbandingann
<< Lebih kecilLebih kecil Boolean Boolean
≤≤ Lebih kecil atau sama Lebih kecil atau sama dengandengan
BooleanBoolean
>> Lebih besarLebih besar BooleanBoolean
≥≥ Lebih besar atau sama Lebih besar atau sama dengandengan
BooleanBoolean
== Sama denganSama dengan BooleanBoolean
≠≠ Tidak sama denganTidak sama dengan BooleanBoolean
Bilangan RiilBilangan Riil
Nama : RealNama : Real Domain : himpunan semua bilangan berkomaDomain : himpunan semua bilangan berkoma Konstanta : angka mengandung ‘.’ Dapt Konstanta : angka mengandung ‘.’ Dapt
dituliskan dengan notasi E yang berarti dituliskan dengan notasi E yang berarti pangkat sepuluhpangkat sepuluh
Contoh : 0.2 3.233 123.00 12.E-2 1.5E2Contoh : 0.2 3.233 123.00 12.E-2 1.5E2 Catatan :Catatan :
Bilangan riil yang mengandung E berarti Bilangan riil yang mengandung E berarti pangkat sepuluh pangkat sepuluh
contoh : 1.5E02 berarti 1.5* 10contoh : 1.5E02 berarti 1.5* 10²²
Operator Pada RealOperator Pada Real
KELOMPOKKELOMPOK OPOP ARTI ARTI HASILHASIL
Operator Operator AritmatikaAritmatika
** KaliKali RealReal
++ TambahTambah RealReal
-- KurangKurang RealReal
// BagiBagi RealReal
^̂ PangkatPangkat RealReal
Operator Operator relasional / relasional / perbandingperbandinganan
<< Lebih kecilLebih kecil BooleanBoolean
≤≤ Lebih kecil atau sama Lebih kecil atau sama dengandengan
BooleanBoolean
>> Lebih besarLebih besar BooleanBoolean
≥≥ Lebih besar atau sama Lebih besar atau sama dengandengan
BooleanBoolean
≠≠ Tidak sama denganTidak sama dengan BooleanBoolean
KarakterKarakter Nama : characterNama : character Domain : Himpunan yang terdefinisi oleh suatu Domain : Himpunan yang terdefinisi oleh suatu
enumerasi, misalnya [‘0’..’9’, ‘a’..’z’, enumerasi, misalnya [‘0’..’9’, ‘a’..’z’, ‘A’..’Z’ ,RETURN, SPACE]‘A’..’Z’ ,RETURN, SPACE]
Ada karakter (suksesor dan predesesor) yang Ada karakter (suksesor dan predesesor) yang ditentukan oleh representasi di dalam komputer, ditentukan oleh representasi di dalam komputer, misalnya pengkodean ASCIImisalnya pengkodean ASCII
Konstanta : dituliskan diantara tanda petik atau Konstanta : dituliskan diantara tanda petik atau suatu nama, misal ‘A’ ‘P’ ‘M’suatu nama, misal ‘A’ ‘P’ ‘M’
OperatorOperator
KELOMPOKKELOMPOK OPOP ARTI ARTI HASILHASIL
Operator Operator PerbandinganPerbandingan
== Sama denganSama dengan BooleanBoolean
≠≠ Tidak sama Tidak sama dengandengan
booleanboolean
StringString
String sebagai “ tipe dasar” yang khususString sebagai “ tipe dasar” yang khususAda sebuah tipe yang sangat diperlukan Ada sebuah tipe yang sangat diperlukan dihampir semua sistem, yang pada akhirnya dihampir semua sistem, yang pada akhirnya dapat dianggap “setengah” tipe dasar karena dapat dianggap “setengah” tipe dasar karena sudah tersedia, yaitu string. Untuk sudah tersedia, yaitu string. Untuk selanjutnya tipe string dapat dianggap tipe selanjutnya tipe string dapat dianggap tipe primitifprimitif
ContohContohTipe : stringTipe : string
Domain : Untaian karakter yang didefinisikan Domain : Untaian karakter yang didefinisikan pada domain karakterpada domain karakterkonstanta : ‘AKU’ ‘ rumah sakit’ ‘pisang’ ‘K’konstanta : ‘AKU’ ‘ rumah sakit’ ‘pisang’ ‘K’
Operator Pada StringOperator Pada String
KELOMPOKKELOMPOK OPOP ARTIARTI HASILHASIL
Operator Operator PerbandinganPerbandingan
== Sama dengan Sama dengan BooleanBoolean
≠≠ Tidak sama denganTidak sama dengan BooleanBoolean
KonstruksiKonstruksi ●● Tambah satu karakter di Tambah satu karakter di akhir stringakhir string
string x character → stringstring x character → string
StringString
๐๐ Tambah satu karakter di Tambah satu karakter di awal stringawal string
character x string → stringcharacter x string → string
StringString
&& KonkatenasiKonkatenasi
string x string → stringstring x string → stringStringString
Tipe Tipe EnumerasiEnumerasi Tipe Enumerasi adalah tipe yang definisi domainnya Tipe Enumerasi adalah tipe yang definisi domainnya
tidak dilakukan menurut suatu aturan (by definition) tidak dilakukan menurut suatu aturan (by definition) melainkan dengan satu persatu nilai anggotanya. Tipe melainkan dengan satu persatu nilai anggotanya. Tipe enumerasi mewakili himpunan nilai yang diberi nama.enumerasi mewakili himpunan nilai yang diberi nama.
Karena disebutkan satu persatu, maka dalam suatu Karena disebutkan satu persatu, maka dalam suatu tipe enumerasi biasanya dikenal cara akses suatu nilai tipe enumerasi biasanya dikenal cara akses suatu nilai anggota enumerasi lewat kata kunci sbb:anggota enumerasi lewat kata kunci sbb:
- First, yaitu anggota nilai yang pertama- First, yaitu anggota nilai yang pertama - Last, yaitu anggota nilai yang terakhir- Last, yaitu anggota nilai yang terakhir - Successor(elemen), yaitu anggota nilai yang- Successor(elemen), yaitu anggota nilai yang berikutnya dari elemenberikutnya dari elemen - Predesesor(elemen), yaitu anggota nilai - Predesesor(elemen), yaitu anggota nilai
yang yang sebelumnya dari elemensebelumnya dari elemen
ContohContoh Type hariType hari {type hari menyatakan enumerasi nama hari dalam {type hari menyatakan enumerasi nama hari dalam
1 minggu}1 minggu} type hari : (senin, selasa, rabu, kamis, jumat, sabtu, type hari : (senin, selasa, rabu, kamis, jumat, sabtu,
minggu)minggu) Jika dideklarasi NAMA variabel H sebagai berikut :Jika dideklarasi NAMA variabel H sebagai berikut : H : hari {artinya : H adalah hari}H : hari {artinya : H adalah hari}
Maka cara mengacu/ mengakses nilai elemen yang Maka cara mengacu/ mengakses nilai elemen yang tersimpan pada H yang telah terdefinisi adalah:tersimpan pada H yang telah terdefinisi adalah:
first (H) {menghasilkan nilai : senin}first (H) {menghasilkan nilai : senin} last (H) {menghasilkan nilai : minggu}last (H) {menghasilkan nilai : minggu} succ(selasa) {menghasilkan nilai : rabu}succ(selasa) {menghasilkan nilai : rabu} prec (selasa) {menghasilkan nilai : senin}prec (selasa) {menghasilkan nilai : senin}
Tipe BentukanTipe Bentukan Tipe bentukan adalah suatu tipe yang dirancang/ Tipe bentukan adalah suatu tipe yang dirancang/
dibentuk (dan diberi nama) dari beberapa dibentuk (dan diberi nama) dari beberapa komponen bertipe tertentu, jadi merupakan komponen bertipe tertentu, jadi merupakan sekumpulan elemen bertipe dasar atau bertipe sekumpulan elemen bertipe dasar atau bertipe yang sudah dikenalyang sudah dikenal
Dalam notasi algoritmik, sebuah tipe bentukan Dalam notasi algoritmik, sebuah tipe bentukan berupa agregasi elemen dituliskan dengan notasi berupa agregasi elemen dituliskan dengan notasi sbb:sbb:
typetype nama type < elemen1 : tipe1, nama type < elemen1 : tipe1, elemen2 : tipe2,elemen2 : tipe2, …… …… elemenN : tipeN,elemenN : tipeN, >>
ContohContoh Type Point Type Point {type point menyatakan absis dan ordinat real pada sumbu {type point menyatakan absis dan ordinat real pada sumbu
kartesian}kartesian} type Point : <X : real {absis}type Point : <X : real {absis} Y : real {ordinat}>Y : real {ordinat}> Jika dideklarasi NAMA variabel P sebagai berikut :Jika dideklarasi NAMA variabel P sebagai berikut : P : Point {artinya: P adalah sebuah point}P : Point {artinya: P adalah sebuah point} Maka cara mengacu/mengakses nilai elemen yang tersimpan Maka cara mengacu/mengakses nilai elemen yang tersimpan
pada P yang telah terdefinisi adalah :pada P yang telah terdefinisi adalah : P.X { menghasilkan nilai absis bertipe real}P.X { menghasilkan nilai absis bertipe real} P.Y {menghasilkan nilai ordinat bertipe real}P.Y {menghasilkan nilai ordinat bertipe real}
Domain : <real, real>Domain : <real, real> Konstanta : <5.0, 6.0> <6.0, 100.0>Konstanta : <5.0, 6.0> <6.0, 100.0> Operator :Operator : - operator terhadap point harus dibuat- operator terhadap point harus dibuat - operator real terhadap P.X dan P.Y- operator real terhadap P.X dan P.Y
Contoh 2Contoh 2
Type JamType Jam { Type jam menyatakan representasi “ jam” { Type jam menyatakan representasi “ jam”
dalam notasi HH:MM:SS dengan HH bernilai dalam notasi HH:MM:SS dengan HH bernilai [0..23]; MM bernilai [0..59] dan SS bernilai [0..59][0..23]; MM bernilai [0..59] dan SS bernilai [0..59]
type jam : <HH : Integer [0..23], {jam}type jam : <HH : Integer [0..23], {jam} MM : Integer [0..59], {menit}MM : Integer [0..59], {menit} SS : Integer [0..59] {detik}SS : Integer [0..59] {detik} >>
Jika dideklarasi NAMA variabel J sebagai berikut :Jika dideklarasi NAMA variabel J sebagai berikut : J : Jam {artinya : J adalah sebuah J : Jam {artinya : J adalah sebuah
Contoh 2 (lanjutan)Contoh 2 (lanjutan)
Maka cara mengacu/mengakses nilai elemen yang Maka cara mengacu/mengakses nilai elemen yang tersimpan pada J yang telah terdefinisi adalah :tersimpan pada J yang telah terdefinisi adalah :
J. HH {menghasilkan nilai bagian jam bertipe integer[0..23]}J. HH {menghasilkan nilai bagian jam bertipe integer[0..23]}
J. MM { menghasilkan nilai bagian menit bertipe J. MM { menghasilkan nilai bagian menit bertipe integer[0..59]}integer[0..59]}
J.SS {menghasilkan nilai bagian detik bertipe integer[0..59]}J.SS {menghasilkan nilai bagian detik bertipe integer[0..59]}
Domain : <integer, integer, integer>Domain : <integer, integer, integer>
Konstanta : <0,0,0> <15,20,30>Konstanta : <0,0,0> <15,20,30>
Operator :Operator :
- operator terhadap JAM harus dibuat- operator terhadap JAM harus dibuat
- operator integer terhadap komponen HH, MM, SS- operator integer terhadap komponen HH, MM, SS