Algoritma dan Pemrograman (Pertemuan 03) Yance Sonatha, S.Kom
Pendefinisian dan Tipe Data
VARIABEL Variabel adalah suatu tempat atau “wadah data” untuk menampung suatu nilai Variabel yang akan dipakai harus “dipesan” dulu dengan dideklarasikan dalam deklarasi variabel (kamus)
Aturan Penulisan Variabel Nama variabel diawali dengan huruf. Karakter kedua dan selanjutnya bisa berupa kombinasi angka dan huruf, tidak boleh tanda baca lain dan spasi - contoh : Nilai1 nilai_fisika - contoh salah : 1nilai 1234a Tidak boleh menggunakan operator hitung ( + - / * %) dan juga tidak boleh menggunakan karakter-karakter khusus ( : ; , # @ $ & dan titik)
Aturan Penulisan Variabel (Sambungan) Tidak boleh memakai reserved words (kata-kata yang sudah mempunyai arti di dalam bahasa pemrograman) Cacah karakter dalam variabel bisa sembarang, tetapi dalam beberapa versi semua karakter setelah karakter ke delapan diabaikan
KONSTANTA Konstanta adalah data yang isinya tetap dan tidak berubah-ubah dalam program Operator matematika Operand-operand yang dipergunakan untuk operasi penjumlahan, pengurangan, perkalian, pembagian dan sisa pembagian (modulus) yang berbeda untuk real maupun integer Operator logika digunakan untuk mengoperasikan operand (konstanta, variabel,dll) secara logis. Operator-operator logika yang umum dalam bahasa pemrograman adalah AND, OR, NOT
TIPE DATA Tipe adalah pola representasi suatu data dalam komputer. Gunanya untuk mendefinisikan objek yang akan diprogram Ada tipe dasar yang sudah diberikan dan siap dipakai, ada tipe bentukan yang dibentuk dari tipe dasar atau dari tipe bentukan/ komposisi yang sudah dibuat
TIPE DASAR(ORDINARY) Tipe dasar yang tersedia dalam suatu bahasa adalah tipe yang sudah didefinisikan,maka pemrogram dapat memakai nama tipe dan semua operator yang tersedia dan mentaati domain nilai yang disimpan dalam tipe tersebut Tipe dasar biasanya tersedia dalam suatu bahasa pemrograman dan digunakan dalam notasi algoritmik adalah : - bilangan logika/boolean - bilangan bulat - bilangan riil - karakter
Bilangan Logika / Boolean Nama : Boolean Domain [true, false] Contoh konstanta : true false Operator yang digunakan KELOMPOK Op ARTI HASIL Operator Logik and dan boolean or atau Xor ekslusive or not negasi EQ ekivalensi nEQ negasi dari ekivalensi
Hasil Operasi Operator Boolean true AND true true true OR true true AND false false true OR false false AND true false OR true False AND false false OR false not false not true False true EQ true true XOR true true EQ false true XOR false false EQ true false XOR true false EQ false false XOR false
Bilangan Bulat / Integer Nama : Integer Domain : himpunan semua bilangan bulat Contoh konstanta : 0 -3 123 -89 999 Bilangan integer mempunyai keterurutan. Keterurutan ini didefinisikan dengan: - suksesor x adalah x+1 - predesesor x adalah x-1 Contoh : - suksesor 0 adalah 1 - predesesor -1 adalah -2 - suksesor -1 adalah 0 - predesesor 3 adalah 2 - suksesor 5 adalah 6
Operator Pada Integer KELOMPOK OP ARTI HASIL Operator Aritmatika + Tambah Integer - Kurang * Kali / Bagi Real div mod Sisa pembagian bulat abs Nilai Absolut ^ Pangkat Operator relasional/ perbandingan < Lebih kecil Boolean ≤ Lebih kecil atau sama dengan > Lebih besar ≥ Lebih besar atau sama dengan = Sama dengan ≠ Tidak sama dengan
Bilangan Riil Nama : Real Domain : himpunan semua bilangan berkoma Konstanta : angka mengandung ‘.’ Dapt dituliskan dengan notasi E yang berarti pangkat sepuluh Contoh : 0.2 3.233 123.00 12.E-2 1.5E2 Catatan : Bilangan riil yang mengandung E berarti pangkat sepuluh contoh : 1.5E02 berarti 1.5* 10²
Operator Pada Real KELOMPOK OP ARTI HASIL Operator Aritmatika * Kali Real + Tambah - Kurang / Bagi ^ Pangkat Operator relasional / perbandingan < Lebih kecil Boolean ≤ Lebih kecil atau sama dengan > Lebih besar ≥ Lebih besar atau sama dengan ≠ Tidak sama dengan
Karakter Nama : character Domain : Himpunan yang terdefinisi oleh suatu enumerasi, misalnya [‘0’..’9’, ‘a’..’z’, ‘A’..’Z’ ,RETURN, SPACE] Ada karakter (suksesor dan predesesor) yang ditentukan oleh representasi di dalam komputer, misalnya pengkodean ASCII Konstanta : dituliskan diantara tanda petik atau suatu nama, misal ‘A’ ‘P’ ‘M’ Operator KELOMPOK OP ARTI HASIL Operator Perbandingan = Sama dengan Boolean ≠ Tidak sama dengan boolean
String String sebagai “ tipe dasar” yang khusus Ada sebuah tipe yang sangat diperlukan dihampir semua sistem, yang pada akhirnya dapat dianggap “setengah” tipe dasar karena sudah tersedia, yaitu string. Untuk selanjutnya tipe string dapat dianggap tipe primitif Contoh Tipe : string Domain : Untaian karakter yang didefinisikan pada domain karakter konstanta : ‘AKU’ ‘ rumah sakit’ ‘pisang’ ‘K’
Operator Pada String KELOMPOK OP ARTI HASIL Operator Perbandingan = Sama dengan Boolean ≠ Tidak sama dengan Konstruksi ● Tambah satu karakter di akhir string string x character → string String ๐ Tambah satu karakter di awal string character x string → string & Konkatenasi string x string → string
Tipe Enumerasi Tipe Enumerasi adalah tipe yang definisi domainnya tidak dilakukan menurut suatu aturan (by definition) melainkan dengan satu persatu nilai anggotanya. Tipe enumerasi mewakili himpunan nilai yang diberi nama. Karena disebutkan satu persatu, maka dalam suatu tipe enumerasi biasanya dikenal cara akses suatu nilai anggota enumerasi lewat kata kunci sbb: - 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 {type hari menyatakan enumerasi nama hari dalam 1 minggu} type hari : (senin, selasa, rabu, kamis, jumat, sabtu, minggu) Jika dideklarasi NAMA variabel H sebagai berikut : H : hari {artinya : H adalah hari} Maka cara mengacu/ mengakses nilai elemen yang tersimpan pada H yang telah terdefinisi adalah: first (H) {menghasilkan nilai : senin} last (H) {menghasilkan nilai : minggu} succ(selasa) {menghasilkan nilai : rabu} prec (selasa) {menghasilkan nilai : senin}
Tipe Bentukan Tipe bentukan adalah suatu tipe yang dirancang/ dibentuk (dan diberi nama) dari beberapa komponen bertipe tertentu, jadi merupakan sekumpulan elemen bertipe dasar atau bertipe yang sudah dikenal Dalam notasi algoritmik, sebuah tipe bentukan berupa agregasi elemen dituliskan dengan notasi sbb: type nama type < elemen1 : tipe1, elemen2 : tipe2, …… elemenN : tipeN, >
Contoh Type Point {type point menyatakan absis dan ordinat real pada sumbu kartesian} type Point : <X : real {absis} Y : real {ordinat}> Jika dideklarasi NAMA variabel P sebagai berikut : P : Point {artinya: P adalah sebuah point} Maka cara mengacu/mengakses nilai elemen yang tersimpan pada P yang telah terdefinisi adalah : P.X { menghasilkan nilai absis bertipe real} P.Y {menghasilkan nilai ordinat bertipe real} Domain : <real, real> Konstanta : <5.0, 6.0> <6.0, 100.0> Operator : - operator terhadap point harus dibuat - operator real terhadap P.X dan P.Y
Contoh 2 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 : <HH : Integer [0..23], {jam} MM : Integer [0..59], {menit} SS : Integer [0..59] {detik} > Jika dideklarasi NAMA variabel J sebagai berikut : J : Jam {artinya : J adalah sebuah
Contoh 2 (lanjutan) Maka cara mengacu/mengakses nilai elemen yang tersimpan pada J yang telah terdefinisi adalah : J. HH {menghasilkan nilai bagian jam bertipe integer[0..23]} J. MM { menghasilkan nilai bagian menit bertipe integer[0..59]} J.SS {menghasilkan nilai bagian detik bertipe integer[0..59]} Domain : <integer, integer, integer> Konstanta : <0,0,0> <15,20,30> Operator : - operator terhadap JAM harus dibuat - operator integer terhadap komponen HH, MM, SS