phone: +62852 5254 2414
e-mail: simonmurdani@gmail.com

Pemrograman Dasar - Tipe Data, Identifier dan Operasi Dasar (Bab IV)




Tipe Data, Identifier 

dan Operasi Dasar 

Kompetensi Dasar 

3.4 Menerapkan penggunaan tipe data, variabel, konstanta,  operator, dan ekspresi. 
4.4 Membuat kode program dengan tipe data, variabel,  konstanta, operator, dan ekspresi. 

A Tipe Data 

Tenis sebuah objek sangat menentukan range nilai yang dapat Jdioperasikan terhadap objek tersebut. Dalam compiler Free Pascal, terdapat dua jenis penggunaan tipe data, yaitu: 1. tipe data yang sudah terintegrasi atau built-in dalam 

compiler yang artinya tipe data tersebut tidak memerlukan pendeklarasian terlebih dahulu sebelum menggunakannya, tipe data yang harus dideklarasikan terlebih dahulu sebelum memanggilnya dalam badan program utama atau disebut user-defined typed. 

Pada Gambar 4.1, dijelaskan secara rinci daftar tipe data yang dikenal dan didukung oleh compiler Free Pascal yang sudah mengalami perbaikan dan peningkatan dibandingkan dengan turbo Pascal. Dalam beberapa kasus, kode yang dibuat dalam Free Pascal dapat diintegrasikan dengan bahasa Assembler dan diterjemahkan Delphi. Berikut tampilan pendeklarasian tipe data. 

(B) Basic Type atau Tipe 

Dasar 

Tipe data dasar atau basic type dalam Pascal dibedakan menjadi 1 beberapa bagian, yaitu sebagai berikut. 

Karakteristik utama tipe ordinal adalah dukungan terhadap pengurutan data yang memiliki data bernilai kecil dan bernilai besar Selain itu, tipe ini dapat melakukan pengoperasian beberapa fungsi Pascal seperti Succ, High, Ord, Dec, Pred, Low, dan Inc. 

a. Integer atau bilangan bulat 

Tipe data ini tidak mengandung nilai pecahan atau desimal, seperti bilangan 77,4. Tipe data integer termasuk kategori tipe data smallint, sedangkan tipe cardinal lebih cenderung sebagai jenis tipe longword. Dalam compiler Free Pascal, ada 10 tipe data jenis integer (bilangan bulat), seperti yang disajikan pada Tabel 4.1. 

b. Boolean 

Tipe Boolean merupakan salah satu tipe data dengan hanya dua kemungkinan, yaitu false (0) atau true (1). Compiler Free Pascal mendukung tipe Bytebool, WordBool, dan LongBool. Karena masih merupakan tipe ordinal, nilainya dapat diketahui urutannya dengan menggunakan fungsi ord. Operasi logika yang dapat terjadi pada tipe ini adalah NOT, AND, dan OR. 

C. Enumerated type 

Tipe enumerasi menggambarkan nilai data secara berurutan dari deretan elemen menjadi sebuah daftar identifier menggunakan penomoran indeks elemen mulai dari 0, 1, dan seterusnya. 

d. Subrange type 

Tipe ini mendefinisikan daftar elemen dari nilai terkecil hingga paling besar. Format penulisan dengan tipe data subrange adalah sebagai berikut. 

Nilai 1 dan nilai 2 adalah nilai dengan tipe ordinal yang sama dan dioperasikan dengan fungsi ord, pred, dan succ yang masih mengacu pada tipe enumerasi asalnya. 

Contoh 

1. 

Mendeklarasikan tipe subrange langsung dengan variabel. 

Mendeklarasikan tipe subrange dengan type dan variabel. 

2. Real Type 

Tipe real mendukung penulisan bilangan pecahan atau penulisan angka di belakang digit yang disebut floating point Ada enam jenis tipe dalam Free Pascal yang disajikan pada tabel berikut.

Perhatikan contoh berikut. 

Contoh 

Program perkalian dengan tipe data real. 

Operasi yang dapat dilakukan pada tipe data real adalah +, - *, /, OR, AND, NOR. 


Zona Aktivitas 


A. Uji Pengetahuan (Nilai Pengetahuan I) 
1. Tuliskan dan jelaskan jenis tipe data yang dikenal dalam compiler Free Pascal. 
2. Apa perbedaan ordinal type dengan real type. 
3. Jelaskan dan berikan contoh bentuk tipe data enumerated. 
4. Jelaskan jenis-jenis tipe data yang termasuk real type. 

B. Praktikum (Nilai Praktik I) 
Buatlah program untuk menampilkan nilai ordinary menggunakan nampilkan nilai ord dari huruf 'a'... 'k' menggunakan tipe data subrange. 

C. Eksperimen (Nilai Proyek I) 
Lakukan penelitian tentang fungsi succ. high, ord, dec, pred, low, dan inc terhadap tipe data ordinary dan buatlah contoh implementasinya dalam bentuk program.   


(C) Character Type 


Tipe data character dalam Pascal dibedakan menjadi beberapa bagian, yaitu sebagai berikut.
 
1. Char 
Tipe data char membutuhkan 1 byte memori untuk melakukan penyimpanan karakter ASCII (huruf alfabet (a..z, A..Z), angka numerik (0.9), tanda baca, operator aritmetika, dan simbol-simbol khusus). Untuk melakukan assignment terhadap variabel bertipe char, kita harus melampirkan tanda kutip tunggal, misalnya: 'a' atau 'A' atau dengan menambahkan simbol #diikuti kode ASCII. Karena masih termasuk tipe ordinal, char dapat dioperasikan dengan menggunakan fungsi ord (untuk mengetahui urutannya), fungsi succ, fungsi pred, prosedur inc, prosedur dec, dan fungsi CHR (mengubah suatu bilangan bulat menjadi karakter yang sesuai dengan ASCII). 

2. WideChar 
Free Pascal mendukung tipe data WideChar yang membutuhkan 2 byte memori untuk menampung satu karakter UNICODE dalam UTF-16 encoding. Sebuah karakter unicode dapat ditentukan oleh nilai karakter (kode UTF-16) dengan 

3. Other Character 
Free Pascal mendukung pemakaian beberapa jenis karakte lain di unit sistem seperti UCS2Char, UCS4Char, dan Unicodech yang sering digunakan oleh bahasa pemrograman Delphi sebar kompatibilitas. 

4. String 
Tipe data string memiliki jumlah maksimal karakter sepanjang 255 karakter. Berikut format penulisan string. 

Jika ada spesifikasi panjang ukuran karakter dalam deklarasi string, banyaknya karakter tergantung nilai yang ditentukan. Berikut contoh pendeklarasian dalam bentuk type, var, maupun const. 

Perintah Length digunakan untuk mencari panjang dari string dengan output dalam bentuk integer. Untuk menentukan urutan karakter dalam string, kita dapat membandingkannya, sebagai contoh 'AC' lebih besar dari 'B' dengan notasi 'AC'> 'B' menghasilkan nilai logika TRUE. String kosong (panjangnya 0) adalah string yang mempunyai urutan terendah. Selain itu, tipe data string dapat dioperasikan seperti halnya sebagai sebuah tipe array. 

5. Shortstring 
Jika pilihan off (dimatikan) dengan simbol {$H-}, string akan selalu bernilai shortstring. 
Jika pilihan on (dihidupkan) dengan simbol {$H+} dan diberikan panjang tertentu, deklarasi tersebut adalah shortstring dengan format: 

6. AnsiStrings 
Tipe AnsiStrings merupakan referensi Pascal yang digunakan oleh Delphi dengan panjang karakter tanpa batas. Setelah 

dikompilasi, ansiStrings dianggap sebagai sebuah tipe data pointer. Apabila nilai string kosong, pointer akan merujuk pada NIL. Namun, jika terdapat nilai data string, pointer akan meruin ke sebuah alamat heap memory. Format penulisannya adalah sebagai berikut. 

7. Pchar 
Pchar merupakan tipe data pemrograman Delphi yang didukung Free Pascal seperti sebuah variabel berjenis pointer yang merujuk ke elemen array bertipe Char yang diakhiri dengan karakter 0 (#0). Format pendeklarasian Pchar adalah sebagai berikut. 



(D) Variabel dan Konstanta dalam Pascal 


Variabel merupakan wadah sementara nilai dengan tipe data tertentu pada sebuah alamat memori. Ketika menempatkan nilai ke variabel, compiler Free Pascal menghasilkan kode mesin sebagai tanda lokasi variabel disimpan pada memori. Notasi penulisan variabel adalah sebagai berikut. 

Syarat pemberian nama identifier adalah sebagai berikut. 
1. Harus diawali dengan karakter huruf atau underscore ( ). 
2. Karakter kedua boleh menggunakan simbol atau angka, tetapi tidak boleh spasi. 
3. Panjang identifier maksimal hanya 63 karakter karena karakter berikutnya tidak dianggap sebagai bagian dari identifier. 
4. Tidak boleh terdapat duplikasi identifier. 
5. Identifier tidak boleh mempergunakan daftar reserved word yang tersedia pada Pascal. 

Ada dua jenis variabel yang dapat dideskripsikan dalam Pascal, yaitu sebagai berikut. 
1. Variabel global adalah variabel yang dideklarasikan di unit atau program, tetapi tidak dikenali dan tidak dipergunakan dalam prosedur atau fungsi. Variabel ini disimpan pada alamat memori secara tetap selama proses program berjalan. 
2. Variabel lokal dideklarasikan di dalam prosedur atau fungsi. Nilainya disimpan pada program stack, yaitu tidak di lokasi tetap. 

Berikut daftar pendeklarasian variabel yang benar

Contoh deklarasi variabel. 

Keterangan: 

Bentuk pertama (var1) mendefinisikan variabel biasa. 
Bentuk kedua (var2) merupakan variabel biasa dengan menetapkan identifier dalam bahasa Assembler sama dengan nama variabel var2 
Bentuk ketiga (var3) merupakan variabel eksternal yang berarti compiler akan menganggap memori terletak di tempat lain. 
Bentuk keempat (var4) hampir sama dengan bentuk ketiga yang merupakan bentuk variabel yang disimpan secara eksternal sekaligus menentukan lokasi identiher assembler, 
Bentuk kelima (var5) merupakan varian bentuk keempat yang menyertakan library memori cadangan. 
Bentuk keenam, menyatakan variabel (var6) tersimpan pada lokasi memori yang sama dengan variabel (var1), 
Bentuk ketujuh (var7) menyatakan bahwa variabel dan identifier assembler merujuk fiir objek lainnya. Bentuk kedelapan (var8) mirip dengan bentuk ketujuh dengan public adalah alias untuk 'eksport. 
Bentuk kesembilan dan kesepuluh (var9 dan var 10) untuk merujuk nama variabel assembler. 
Bentuk kesebelas (var11) yang menginisialisasi var11 adalan integer dengan nilai sebesar 1. 

Contoh 
Mendeklarasikan tipe data pointer. 

(E) Konstanta
 
Konstanta merupakan nilai peubah layaknya variabel yang memiliki nilai data bersifat tetap. Besaran nilai konstanta ditetapkan ketika pertama kali dideklarasikan. Ada dua deklarasi jenis konstanta, yaitu sebagai berikut. 

1. Konstanta Tidak Bertipe Data 

Contoh 
Mendeklarasikan konstanta tanpa tipe data. 

2. Konstanta dengan Tipe Data

Contoh 
Mendeklarasikan konstanta dengan tipe data. 


Zona Aktivitas 


A. Uji Pengetahuan (Nilai Pengetahuan II) 
1. Jelaskan perbedaan variabel dan konstanta serta berikan contoh programnya. 
2. Tuliskan kaidah penulisan identifier yang benar. 
3. Tuliskan dan jelaskan jenis variabel yang dikenal oleh compiler Pascal. 
4. Jelaskan jenis operasi yang dapat dilakukan pada Free Pascal.


(F) Tipe Data dalam Java 


Dalam pemrograman Java dikenal dengan tipe data integer, float, dan character. Tipe data ini digunakan untuk menentukan range nilai data yang dapat ditampung oleh sebuah variabel sebelum diberikan nilai. 

1. Integer 

2. Float 

Tipe ini digunakan untuk data dengan nilai pecahan atau desimal. 

Berikut contoh kode untuk menampilkan umur dan tinggi seseorang dengan tipe data integer. 

3. Tipe Data Char 

Tipe data ini digunakan menyatakan nilai berupa karakter baik a..z, A..Z dan beberapa simbol khusus. Tipe char merupakan karakter unicode 16 bit dengan nilai minimum \u0000' dan maksimum '\uffff'  Contoh berikut menampilkan karakter "A" dengan program Java. 


(G) Variabel dan Konstanta dalam Java 


Variabel dalam Java dideklarasikan untuk menyimpan nilai data sebelum dioperasikan dalam badan utama program. Pemberian tipe data dalam variabel akan menentukan ukuran data yang dapat disimpan oleh variabel. Isi nilai data dalam variabel dapat berubah sedangkan nilai data dalam konstanta bersifat tetap. Ada tiga jenis variabel dalam Java, yaitu sebagai berikut.

1. Variabel Lokal 

Jenis variabel ini dideklarasikan dalam method atau di dalam konstruktor dan blok. Tipe variabel ini akan dieksekusi ketika method atau konstruktor atau blok badan program mulai bekerja dan akan berakhir setelah blok program tersebut selesai bekerja. Jenis variabel ini hanya akan bekerja dalam bio program yang pada variabel tersebut dideklarasikan dan tidak akan dapat dikenali atau dipanggil dalam blok lain, kecuali telah dideklarasikan atau diinisiasi terlebih dahulu. 

Contoh program untuk menginisiasi umur orang dengan variabel lokal adalah sebagai berikut. 

Output dari kode program tersebut adalah sebagai berikut. 

2. Variabel Instance 

Tipe variabel ini dideklarasikan dalam kelas program, sebelum atau sesudah penggunaan blok utama badan program (void main). Jenis variabel ini dapat dikenali dan digunakan dalam metode konstruktor maupun blok utama program. Variabel instance memiliki ciri utama, yaitu nilai default pada numerik memiliki default 0, sedangkan pada Boolean adalah false, dan referensi tipe objek adalah null. 

Contoh untuk menampilkan variabel nama dengan instance adalah sebagai berikut. 

Jika di-compile, program tersebut akan menampilkan pesan error bahwa variabel nama tidak dikenali. Dengan demikian, Anda harus memperbaiki kode program menjadi seperti berikut. 

File kode program tersebut setelah di-compile tidak akan menghasilkan error dan setelah dijalankan akan menampilkan output seperti berikut. 

Dalam kasus ini, dapat diamati bahwa variabel instance memiliki beberapa ciri khas penggunaan, yaitu sebagai berikut. 
a. Variabel instance akan dibuat bila sebuah objek yang dipanggil menggunakan keyword new. 
b. Variabel ini dapat dipanggil menggunakan access modifier. 
c. Variabel ini akan dieksekusi jika objek dijalankan atau dipanggil dalam blok badan program. 
d. Variabel ini dapat digunakan dalam bagian method, constructor, atau badan program. 
e. Jika space objek tersedia dalam heap, slot variabel juga akan dibuat. 

3. Variabel Kelas atau Static 

Tipe variabel ini akan dideklarasikan dalam sebuah class program yang diawali dengan keyword static. Nilai dalam vantes ini bersifat tetap (konstanta) atau tidak berubah seperti kecu jenis variabel sebelumnya. Pendeklarasian variabel ini berada luar method, constructor, atau blok program.

Persamaan dengan variabel instance adalah memilki nilai default yang sama untuk tipe integer, Boolean, dan object. Untuk memanggil variabel static ini, dapat melakukan pemanggilan nama ke dalam badan program. Berikut adalah contoh program untuk memanggil variabel namaku.

Output dari program tersebut adalah sebagai berikut. 

Zona Aktivitas 
A. Uji Pengetahuan (Nilai Pengetahuan III) 
1. Apakah variabel dan konstanta itu sama? Jelaskan alasan Anda. 
2. Tuliskan dan jelaskan ciri-ciri variabel instance dalam Java. 
3. Bagaimana cara mendeklarasikan variabel class atau static dalam Java? 

B. Praktikum (Nilai Praktik III) 
Buat program untuk menghitung gaji pegawai yang telah bekerja selama 25 hari dengan gaji per hari adalah Rp 100.000. Gunakan variabel lokal untuk melakukan penghitungan gaji.
 
Eksperimen (Nilai Proyek III) 
Takukan modifikasi program pada latihan praktikum sebelumnya tentang penghitungan gaji karyawan dengan menggunakan teknik variabel instance. 


Rangkuman 


1. Tipe data merupakan jenis jangkauan data yang harus diberikan dan dideklarasikan pada awal program untuk menentukan ukuran data yang dapat diberikan oleh program ketika menggunakan variabel tertentu. 
2. Variabel merupakan alokasi nilai data yang dapat diubah nilainya, sedangkan konstanta merupakan alokasi penyimpanan data yang bersifat tetap atau konstan. 


Ulangan Akhir Bab 4 


A. Pilihlah salah satu jawaban yang tepat. 

1. Berikut identifier yang benar menurut aturan penulisan dalam Pascal adalah .... 
a. nama_siswa 
b. nama siswa 
c. 2namasiswa 
d. siswa nama 
e. //namasiswa 

2. Ekspresi yang tidak dapat dilakukan oleh tipe data real adalah .... 
a. a := a + b 
b. a := a -6 
c. a:=a* b d. 
a := a mod 6 
e. a:= a/b 

3. Cara yang tepat untuk mendeklarasikan variabel bertipe data enumerated dalam Pascal berikut adalah.... 
a. var xyz : integer (1,2,3); 
b. var mobil: (a, b, c); 
c. var mobil: (a, b, c]; 
d. var mobil: (a, b, c): char; 
e. var mobil: string (a, b, c);
 
4. Ekspresi yang tidak dapat dilakukan oleh tipe data integer adalah . 
a. a = a + b 
b. a = a-b 
c. a: a b 
d. a= a mod b 
e. a=a/b 

5. Berikut yang bukan termasuk deklarasi variabel adalah .... 
a. var a = arrayri..51 of integer; 
b. var a: array(0.5] of byte ; 
C. var a : array[2..6] of byte ; 
d. var a: array[1..5] of real ; 
e. var x : integer; 

6. Perhatikan baris kode program Java berikut untuk menampilkan banyaknya user yang mencoba login ke dalam sistem Linux. 


Menurut Anda, analisis yang tepat ketika suatu program dapat dengan berhasil di compile adalah .... 
a file berhasil di-compile, tetapi menghasilkan error ketika program dijalankan karena tidak terdapat main method 
b. file Java tidak berhasil di-compile tetapi dapat dijalankan file class nya 
c. file tidak dapat di-compile karena tidak ada main method 
d. file sukses di-compile tanpa error dan dapat dieksekusi 
e. file dapat di-compile dan kelas dapat diinstansiasi 

7. Perhatikan class hitung pada pemrograman Java berikut 


Output dari proses function adalah .... 
a. 333
b. 100000 
c. 100333 
d. program gagal ketika di-compile 
e. program sukses di-compile tetapi gagal ketika dijalankan 

8. Perhatikan baris kode pemrograman Java berikut. 


Analisis paling tepat yang menunjukkan kesalahan penulisan program ketika di compile adalah .... 
a. sukses di-compile, ketika dijalankan tidak menampilkan pesan apapun 
b. ketika di-compile muncul pesan error pada line 10 
c. ketika di-compile muncul pesan error pada line 9 
d. ketika di-compile muncul pesan error pada line 8 
e. ketika di-compile muncul pesan error pada line 7 

9. Perhatikan kode pemrograman Java berikut. 


Terdapat sebuah prosedur yang akan mengembalikan nilai pada badan utama program. Menurut Anda, kode program yang tepat adalah .... 
a. ketika di-compile muncul pesan error "Missing Return value" 
b. sukses di-compile, ketika dijalankan tidak menampilkan pesan apapun 
c. tidak dapat di-compile karena tidak terdapat method Main 
d. tidak menampilkan pesan apapun 
e. null 

10. Jenis variabel dalam Pemrograman Java yang hanya dapat dikenali atau digunakan dalam blok, method, atau constructor adalah 
a. local variable 
b. static variable 
c. global variable 
d. method variable 
e. instance variable 

B. Jawablah pertanyaan-pertanyaan berikut dengan benar. 

1. Jelaskan jenis tipe data yang dikenal dalam compiler Free Pascal. 
2. Apa perbedaan ordinal type dengan real type? 
3. Jelaskan dan berikan contoh bentuk tipe data enumerated. 
4. Tuliskan dan jelaskan jenis-jenis tipe data yang termasuk real type. 
5. Jelaskan jenis tipe data yang termasuk tipe data char. 
6. Bagaimana caranya mendeklarasikan variabel bertipe string dalam pemrograman Java? 
7. Jelaskan perbedaan utama antara local variable dan instance variable. 
8. Jelaskan perbedaan variabel dan konstanta, berikan pula contoh programnya. 
9. Tuliskan dan jelaskan karakteristik dari instance variable dalam pemrograman Java. 
10. Tuliskan dan jelaskan jenis-jenis tipe data yang termasuk kategori tipe data integer dalam Java. 

2 comments: