Powered By Blogger

Tipe, Nama dan Nilai


Bab. 3


Tipe, Nama dan Nilai

Tinjau algoritma dibawah ini
Di dalam algoritma Euclidean, nilai m dan n dimanipulasi oleh instruksi-instruksi di dalam bagian Deskripsi. Dimanipulasi artinya dilakukan suatu operasi terhadap nilai tersebut, misalnya dibagi dengan nilai lain (m MOD n), diganti nilainya (m&n), ditulis ke piranti keluaran (write(m)), dan sebagainya.
Pada umumnya, program komputer bekerja dengan memanipulasi objek (data) di dalam memori. Objek yang akan diprogram bermacam-macam tipenya, misalnya tipe numerik, karakter, string dsb. Pada algoritma Euclidean, sebagai contoh, m dan n adalah objek yang dimanipulasi yang bertipe integer (bilangan bulat).
Tipe data dapat dikelompokkan menjadi atas dua macam: tipe dasar dan tipe bentukan. Tipe dasar adalah tipe yang dapat langsung dipakai, sedangkan tipe bentukan dibentuk dari tipe dasar atau dari tipe bentukan lain yang sudah didefinisikan.
Suatu tipe diacu dari namanya. Nilai-nilai yang dicakup oleh tipe tersebut dinyatakan di dalam ranah (domain) nilai. Operasi-operasi (beserta operator) yang dapat dilakukan terhadap tipe tersebut juga didefinisikan. Dengan kata lain, suatu tipe dinyatakan dengan namanya, ranah nilai yang dikandungnya, cara menuliskan kostantanya, dan operasi yang dapat dilakukan kepadanya.
Tipe dasar sudah dikenal dalam kehidupan sehari-hari. Tipe ini sudah ada sejak zaman dahulu (predefined data type). Setiap hari kita berbicara tentang angka-angka dan karakter. 
Dalam dunia pemrograman, yang termasuk ke dalam tipe dasar adalah: bilangan logika, bilangan bulat, karakter, bilangan riil, dan string. 
  1. Bilangan Logika
            Nama Tipe:
            Nama tipe bilangan logik adalah boolean (diambil dari nama seorang matematikawan inggris, George boole)
           
            Ranah Nilai:
            Bilangan logik hanya mengenal dua buah nilai: benar (true) atau salah (false). Istilah “bilangan” pada “bilangan logik” muncul karena  kita dapat menyatakan “benar” dengan angka 1 dan “salah” dengan angka 0.

            Konstanta:
            Karena ranah nilai tipe boolean hanya beranggotakan dua buah nilai, maka tetapan nilai pada tipe ini adalah true dan false
           
Operasi:
            Operasi-operasi yang dapat dilakukan terhadap tipe boolean dikenal dengan operasi logika atau operasi boolean. Operasi logika menghasilkan nilai dalam ranah boolean (yaitu true atau false). Operator logika yang umum digunakan untuk operasi logika adalah: not, and, or, xor      
Jika a dan b adalah peubah (variable) yang bertipe boolean, maka hasil operasi a dan dengan keempat operator tersebut diberikan oleh masing-masing tebel (yang disebut tabel kebenaran – truth table) berikut:


a
Not a
true
false
false
true

Tipe Dasar…

a
b
a and b
a or b
a xor b
true
true
true
true
false
true
false
false
true
true
false
true
false
true
true
false
false
false
false
false

Cara mengingat hasil operasi dengan operator boolean dengan cara mengingat bahwa operator and hanya akan bernilai benar bila a dan b keduanya bernilai benar. Operasi dengan operator or hanya akan bernilai salah bila a dan b keduanya bernilai salah. Sedangkan operator xor akan bernilai benar bila a dan b saling berlawanan nilai kebenarannya.
contoh operasi logika: misalkan X, Y, dan Z adalah peubah bertipe boolean, X bernilai true, Y bernilai false, dan Z bernilai true
Operasi logika
Hasil
(X and Y) or Z
?
X and (Y or Z)
?
Not (X and Z)
?
(Y Xor Z) and Y
?

  1. Bilangan Bulat
             Tipe ini sudah dikenal dalam kehidupan sehari-hari. Bilangan bulat adalah bilangan yang tidak mengandung pecahan desimal.
            Nama Tipe:
            Nama tipe bilangan bulat adalah integer
           
            Ranah Nilai:
            Secara teoritis, tipe bilangan bulat mempunyai ranah nilai yang tidak terbatas. Rentang nilainya adalah dari minus tidak hingga sampai plus tidak hingga asalkan setiap nilainya tidak mengandung titik desimal. Namun didalam algoritma didefinisikan dalam ranah tertentu untuk objek yang didefinisikan. Pendefinisian ranah ini diperlukan untuk menyatakan bahwa nilai objek hanya boleh berada dalam dalam ranah tersebut. Dalam praktek, tipe integer mempunyai nilai yang terbatas. Implementasi tipe integer dalam bahasa pemrograman bergantung pada kompilator bahasa yang digunakan.
Konstanta:
            Konstanta nilai bertipe bilangan bulat harus ditulis tanpa mengandung titik desimal.
           
            Operasi:
            Operasi yang dapat dilakukan terhadap bilangan bulat ada dua macam yaitu:
            a. Operasi Arimetika (+, -, *, div, mod)
                Operand à Objek yang dioperasikan
        Operator à simbol yang digunakan untuk memanipulasi operand
            b. Operasi Perbandingan  (<, ≤ ,>, ≥, =, ≠)
  1. Bilangan Riil
             Bilangan yang mengandung pecahan desimal.
            Nama Tipe:
            Nama tipe bilangan ini adalah adalah real
           
            Ranah Nilai:
            Sebagaimana bilangan bulat, secara teoritis tipe bilangan riil memiliki nilai yang tidak terbatas. Rentang nilainya adalah dari minus tidak hingga sampai pulus tidak hingga.
Konstanta:
            Konstanta nilai bertipe bilangan riil harus ditulis dengan tanda titik desimal.
           
            Operasi:
            Operasi yang dapat dilakukan terhadap bilangan riil ada dua macam yaitu:
            a. Operasi Arimetika (+, -, *, div, mod)
                Operator à Objek yang dioperasikan
        Operand à simbol yang digunakan untuk memanipulasi operator
            b. Operasi Perbandingan  (<, ≤ ,>, ≥, =, ≠)
  1. Karakter
            Yang termasuk ke dalam karakter adalah huruf-huruf alfabet, tanda baca, angka dari 0 sd 9, karakter khusus dan sebagainya.
            Nama Tipe:
            Nama tipe untuk karakter adalah char
           
            Ranah Nilai:
            Ranah karakter adalah semua huruf di dalam alfabet (‘a’...’z’, ‘A’…’Z’), angka (‘0’…’9’), tanda baca (‘?’, ’!’, ‘.’, ‘,’ dsb), operator arimetik, dan karakter-karakter khusus.

            Konstanta:
            Tetapan untuk data bertipe karakter harus diapit oleh tanda petik tunggal. Contoh tetepan karakter:
            ‘h’, ‘y’, ‘$’
            Operasi:
            Satu-satunya operasi yang dilakukan oleh tipe karakter adalah operasi perbandingan.
  1. String
            String adalah deretan karakter dengan panjang tertentu. Berbeda dengan karakter. Karakter adalah string dengan panjang 1.
String sebenarnya bukan tipe dasar murni karena disusun dari tipe karakter. Namun karena tipe string banyak dipakai dalam pemrograman,maka string dapat diperlakukan sebagai tipe dasar.
String yang disusun oleh gabungan numerik dan karakter sering dinamakan alfanumerik.
            Nama Tipe:
            Nama tipe untuk string adalah string
           
            Ranah Nilai:
            Ranah nilai untuk tipe string adalah deretan karakter yang telah didefinisikan pada ranah karakter.

            Konstanta:
            Semua konstanta string harus diapit oleh tanda petik tunggal.
            Operasi:
            Operasi terhadap string ada 2 macam yaitu Operator penyambungan (concatenation) dan operasi perbandingan
           
Setiap objek dialam mempunyai nama. Nama itu diberikan oleh manusia agar objek tersebut mudah diidentifikasi, diacu, dan dibedakan dari objek lainnya. Di dalam algoritma, nama dipakai sebagai pengidentifikasi “sesuatu” dan pemrogram mengacu “sesuatu” melalui namanya. Karena itu, setiap nama haruslah unik, tidak boleh ada dua buah nama yang sama. Di dalam algoritma, “sesuatu” yang diberi nama dapat berupa:
  1. Peubah (variabel)
            Peubah adalah tempat penyimpanan data/informasi di memori ang isinya dapat diubah.
Contoh:
            DEKLARASI
   x, nilai, jumlah : real
               k : integer
      c : char

            x, nilai, jumlah, k, dan c adalah nama peubah. Nilai-nilai peubah dapat diubah dengan instruksi algoritma.
  1. Konstanta (constant)
            Merupakan tempat penyimpanan di dalam memori yang isinya tetap selama pelaksanaan program dan tidak dapat diubah. Notasi untuk menyatakan konstanta adalah const
Contoh:
            DEKLARASI
   const phi = 3.14
               const Nmaks  = 100
      const sandi = ‘XYZ’

            phi, Nmaks, dan sandi adalah nama konstanta. Nilai konstanta yang sudah diisikan ke dalam nama konstanta tidak dapat diubah oleh instruksi di dalam algoritma.
  1. Nama fungsi
            Contoh:
            function MAKSIMUM(A, B: integer) à integer
{ mengembalikan nilai terbesar antara A dan B }

            MAKSIMUM adalah nama fungsi
  1. Nama prosedur
            Contoh:
            procedure TUKAR(input/output A, B: integer)
{ Mempertukarkan nilai A dan B }

            TUKAR adalah nama prosedur
Setiap bahasa pemrograman mempunyai aturan yang ketat dalam mendefinisikan nama. Misalnya karakter yang diperbolehkan untuk penamaan, panjang maksimum nama, perbedaan huruf besar dan huruf kecil, dan sebagainya. Untuk menjaga ketaatasasan, maka aturan algoritma yang diberlakukan adalah sebagai berikut
  1. Nama harus dimulai dengan huruf alfabet, tidak boleh dimulai dengan angka, spasi, atau karakter khusus lainnya.
  2. Huruf besar atau kecil tidak dibedakan.
  3. Karakter penyusun nama hanya boleh huruf alfabet, angka, dan “_” (underscore). Nama tidak boleh mengandung operator arimetika, operator relasional, tanda baca dan karakter khusus lainnya.
  4. Karakter-karekter didalam nama tidak boleh dipisah dengan spasi. Spasi dapat diganti dengan karakter (“_”).
  5. Panjang nama tidak dibatasi.
           
Satu hal yang terpenting untuk diperhatikan, nama sebaiknya interpretatif, yaitu mencerminkan nilai intrinsik atau fungsi yang dikandungnya. Pemrogram sangat dianjurkan memberikan penjelasan terhadap nama yang didefinisikan. Penjelasan dinyatakan dengan program.
Nilai adalah besaran dari tipe data yang sudah didefinisikan. Nilai dapat berupa isi yang disimpan oleh peubah atau nama konstanta. Algoritma pada hakikatnya adalah memanipulasi nilai yang disimpan di dalam elemen memori. Nilai yang dikandung oleh peubah dimanipulasi antrara lain dengan cara: mengisikannya ke peubah lain yang bertipe sama, dipakai untuk perhitungan, atau dituliskan ke peranti keluaran. 
  1. Pengisian Nilai ke dalam peubah
            Peubah menyimpan sebuah nilai dari tipe tertentu. Sebuah nilai dapat dimasukkan ke dalam nama peubah dengan dua cara yaitu:
            - Pengisian nilai secara langsung
              Notasi pengisian nilai secara langsung :ß
              Ex: A | 10
                    C | B
            D | (AB*C)/2
            - Pembacaan nilai dari piranti masukan (menggunakan notasi read).
       Read(M)
  
  1. Ekspresi
            Suatu nilai dipakai untuk proses transformasi menjadi keluaran yang diinginkan. Transformasi nilai menjadi keluaran dilakukan melalui suatu perhitungan (komputasi). Cara perhitungan itu dinyatakan dalam suatu ekspresi. Ekspresi terdiri dari operator dan operand.
Operand adalah nilai yang dioperasikan dengan operator tertentu. Operator dapat berupa konstanta, nama peubah, atau hasil dari suatu fungsi.
Ekspresi terdiri dari:
- Ekspresi Aritmetik
  Ex: X = A*B
- Ekspresi Relasional  Ex: X < 5, X=Z
- Ekspresi String
  Ex: ‘Jl. Ganesa’ + ‘No. 10’
  1. Menuliskan Nilai ke Piranti Keluaran
            Nilai yang disimpan oleh memori dapat ditampilkan ke piranti keluaran. Insturksi penulisan nilai ke piranti pengeluaran dilakukan dengan notasi write