Tampilkan postingan dengan label Pascal. Tampilkan semua postingan

Pascal : Konstanta (Constant)




Kita telah membahas variable di post sebelumnya. Kali ini saya akan sedikit membahas tentang Kosntanta. Konstanta adalah sebuah entitas yang nilainya tidak berubah dari awal hingga program selesai digunakan. Tidak sama seperti variable yang dapat kita ubah-ubah nilainya, konstanta memiliki nilai statis.

Konstanta sangat berguna apabila kita ingin mendeklarasikan sebuah nilai yang sama dan tidak berubah dalam sebuah program, dan ketika kita ingin menggunakannya, kita hanya perlu memanggil nama dari konstanta tersebut dan tak perlu menghapal nilainya.

DEKLARASI KONSTANTA

Untuk mendeklarasikan konstanta, kita dapat menggunakan reserved word 'const'. Berikut syntax pendeklarasian konstanta :

const
      name_identifier = constant_value;

Apabila kita implementasikan, berikut gambarannya :

const
     pi = 3.14;

Artinya adalah, kita memiliki konstanta bernama pi yang memiliki nilai 3.14, dan nilai tersebut tidak akan berubah di keseluruhan bagian program selama eksekusi. Tapi, kita dapat mengganti constant_value pada konstanta dengan mengetik ulang nilai yang ingin kita assign dan setelah mengganti nilainya, maka nilai yang terakhir kita masukkan akan menjadi nilai yang konstan selama program dieksekusi.

Namun, pascal hanya mengizinkan beberapa type data saja yang boleh dijadikan konstanta(sumber : www.tutorialspoint.com) :

Ordinal types
Set types
Pointer types (Hanya nilai Nil yang diizinkan)
Real types
Char
String

Untuk masing, masing tipe data, dapat dicontohkan sebagai berikut :

const
     batas_umur = 20; {Ordinal types}

const
     kelas_sd = set of (1, 2, 3, 4, 5); {Set types}

const
     P = NIL; {Pointer types}

dan seterusnya.

MENGGUNAKAN KONSTANTA

Untuk memperdalam konsep, saya akan memberikan sebuah program sederhana lengkap dengan konstanta.

program lingkaran;

const

      pi = 3,14;
var
      jari_jari : real;
      luas, keliling : real;
begin
      write('Masukkan jari-jari : '); readln(jari_jari);
      luas:= pi*jari_jari*jari_jari;
      keliling:= 2*pi*jari_jari;
      writeln('Luas lingkaran adalah : ', luas:6:2);
      writeln('Keliling lingkaran adalah : ', keliling:6:2);
     {Maksud dari 6:2 adalah, program menampilkan total 6 digit dan dua digit di belakang koma}
end.

Pada program di atas, bila kita input jari_jari dengan nilai 7, maka keluarannya akan menjadi :

Masukkan jari-jari : 7
Luas lingkaran adalah : 153.86
Keliling lingkaran adalah : 43.96

Ya, kira-kira itu saja yang dapat saya bahas pada posting kali ini. Terimakasih :D

Tipe Data dalam Pascal (Bagian 2)




Setelah sebelumnya membahas tentang Tipe Data Scalar-Standar di artikel Tipe Data dalam Pascal (Bagian 1), kali ini saya akan sedikit menyinggung tentang Structured Data Types (Tipe Data Terstruktur).
Menurut IBM dalam situs-nya,“A structured data type is a user-defined data type with elements that are not atomic; rather, they are divisible and can be used either separately or as a single unit, as appropriate.
Artinya, Tipe Data Terstruktur adalah tipe data yang dapat digunakan untuk menampung banyak data (terdiri dari banyak variabel), yang isinya ditentukan sendiri oleh pembuatnya.
“Di dalam logika, tipe terstruktur dapat dilogikakan sebagai bungkusan dari satu kotak(variabel) atau lebih, atau bahkan di dalamnya juga mengandung bungkusan lagi.” (Rosa A.S, 2010 : 31)

Beberapa contoh Tipe Data Terstruktur :

  • Array
  • Record/Struct
  • List
  • Stack

Saya tidak akan membahas satu per satu secara mendetail kali ini, namun untuk memperjelas konsep dari Tipe Data Terstruktur, saya akan memberikan beberapa contoh.

Misalnya, kita ingin membuat sebuah Tipe Data Waktu, yang terdiri dari jam, menit, dan detik. Secara logika, Jenis/Tipe Data Waktu terdiri dari variable jam, menit, dan detik, dan Tipe Data Waktu ini diibaratkan sebagai pembungkus dari ketiga variable tadi.

Type
            Waktu = Record
                        Jam : Integer;
                        Menit : Integer;
                        Detik  : Integer;
            End;

{Tipe Data Waktu membungkus tiga variable, jam, menit, detik, yang bertipe data Integer}

Dalam pemakaiannya, kita dapat gunakan seperti berikut:

(*Kita deklarasikan Type Data Terstruktur (Bentukan) waktu, seperti yang telah dicontohkan di atas *)
…
Var
            Time : Waktu;
Begin
            Time.Jam := 10;

{Assign nilai 10 ke variable Jam dalam bungkusan Time, bungkusan Time bertipe data waktu. Dan tipe data Waktu sudah kita deklarasikan di awal}
        
            Time.Menit := 56;
            Time.Detik  := 12;
End.

Apabila kita menuliskan perintah Writeln; untuk masing-masing variable, maka nilai yang kita assign akan tertulis di layar.
Misal, kita gunakan :

Writeln(Time.Menit);

Maka di layar akan muncul :

56; {Tanpa titik-koma}

Atau, apabila kita tuliskan perintah :

Writeln(Time.Detik);

Yang akan tertulis di layar adalah :

12; {Tanpa titik-koma}

Mengapa perlu digunakan Tipe Data Terstruktur?

Ada berberapa keuntungan dari penggunaan Tipe Data Terstruktur dalam sebuah program. Yang pertama adalah, kita dapat mengelompokkan beragam tipe data built-in ke dalam sebuah struktur yang akan memudahkan kita dalam mengakses dan menginput suatu nilai ke dalamnya. Selain itu, kita dapat meningkatkan efisiensi penggunaan memori pada saat program sedang bekerja. Penggunaan struktur data yang tepat pada program dapat membuat program lebih efisien dan sederhana.

Satu lagi contoh penggunaan Tipe Data Terstruktur, misalnya. Kita ingin membuat sebuah data yang berkaitan dengan Mahasiswa. Mahasiswa sendiri mempunyai beberapa data lainnya yang harus disimpan, misalnya nama, NIM, dan Indeks Prestasi(IP). Agar mudah dalam mengelompokkan data, dan pada akhirnya akan membuat akses data menjadi lebih efisien dan mudah, maka kita dapat membuat sebuah record, atau bungkusan bernama Mahasiswa, yang terdiri dari variable Nama, NIM, dan IP yang masing-masing memiliki tipe data tersendiri. Apabila kita coba untuk mendeklarasikannya, maka akan menjadi seperti berikut:

Type
            Mahasiswa = Record
                        Nama  : String;
                        NIM   : String;
                        IP    : Real;
           End;

{Tipe Data untuk NIM di sini diasumsikan bertipe String (Untaian Karakter)}

Dengan membuat Tipe Data Bentukan seperti di atas, maka kita dapat dengan mudah mengakses data yang kita inginkan. Kira-kira itu saja yang dapat saya sampaikan pada kesempatan kali ini, Terimakasih.

Procedure Dan Function



Woh, udah lama ternyata saya ga posting :D akhir-akhir ini memang agak sibuk sama urusan sekolah (tugas luar biasa numpuk) + agak males juga. well, dalam postingan kali ini, saya akan membahas tentang Procedure dan Function dalam bahasa pascal. Check this out ^^

Suatu permasalahan program yang kompleks pada umumnya akan dibagi ke dalam bagian-bagian tersendiri yang disebut subprogram atau rutin. Di dalam sebuah rutin terdapat kode-kode yang digunakan untuk melakukan sebuah tugas secara spesifik. Dengan menggunakan rutin, program yang kita buat dapat lebih bersifat modular, jadi kalau ada sebuah perubahan, kita tidak perlu repot-repot untuk memperbaikinya. selain itu, dengan menggunakan rutin, kita juga dapat menghindari penulisan kode yang sama(karena rutin bisa dipanggil berulang-ulang dimanapun) Dalam bahasa pascal, dikenal dua buah rutin, yaitu Procedure dan Function.

PROCEDURE

Procedure, adalah sebuah subprogram yang melakukan proses tertentu tanpa adanya pengembalian nilai, procedure ini menggunakan metode pengisolasian (terpisah dari kode program utama) dan bisa diaktivasi/dipanggil dari bagian manapun di dalam program. Struktur Procedure :
procedure namaprocedure(parameter1:tipedata
;paramater2:tipedata...);
var
  {pendeklarasian variabel}
begin
  {statement}
end;
contoh penerapannya :
Procedure swap(a,b:integer);
var
  temp:integer;
begin
  temp:=a;
  a:=b;
  b:=temp;
end;
nah, contoh procedure yang saya buat di atas adalah procedure yang berisi statement-statement yang akan menukar dua buah bilangan. dan procedure diatas dapat dipanggil berulang-ulang hanya dengan menulis code :
swap(a,b);

FUNCTION

Kalau secara definisi, function(fungsi) dan procedure sebenarnya sama. Letak perbedaannya hanya pada pengembalian nilai, dalam fungsi terdapat pengembalian nilai dan bisa langsung mengisikan sebuah ekspresi. Struktur Fungsi :
function nama function(parameter1:tipedata;
                       parameter2:tipedata...):tipedata;
var
  {pendeklarasian variabel}
begin
  {statement}
  namafungsi:=nilaikembalian;
end;
contoh penerapannya :
function kali(a,b:integer):longint;   
begin
  kali:=a*b;
end;
kita juga bisa menggunakan variabel bantu pada contoh di atas, seperti ini :
function kali(a,b:integer):longint;
var
  hasil:longint;
begin
  hasil:=a*b;
  kali:=hasil;
end;
Pada dua buah contoh di atas, fungsi kali mengembalikan nilai yang sama. Yang menjadi pembeda
adalah, pada contoh yang kedua kita menggunakan variabel bantu untuk menyimpan nilai hasil perkalian dari a dan b, tapi di akhir nilainya kita assign ke fungsi kali.

Saya rasa itu saja yang bisa saya post kali ini, semoga bermanfaat.

Tipe Data dalam Pascal (Bagian 1)



Tidak seperti manusia, komputer tidak dapat membedakan antara "12345" dan "abcde". Dibutuhkan Tipe Data untuk membedakan jenis data yang diterima, diproses, dan dikeluarkan oleh suatu program. Sebuah Tipe Data adalah klasifikasi type dari sebuah data yang dapat dimiliki oleh sebuah variable atau objek dalam Pemrograman Komputer. Tipe data merupakan faktor yang sangat penting di setiap bahasa pemrograman, seperti c#, c++, JavaScript, dan lain sebagainya. Ketika programmer membuat sebuah aplikasi komputer, baik desktop maupun web-based, tipe data harus direferensikan dan digunakan dengan semestinya, untuk memastikan program yang dibuat sesuai dengan fungsinya.
Pada postingan kali ini, saya akan membahas tentang beberapa Tipe Data yang ada dalam bahasa Pascal. Setelah sebelumnya mempelajari tentang Variable, kali ini kita akan berkenalan dengan Tipe Data yang akan sering kita gunakan ketika menggunakan bahasa Pascal. Setiap variable harus diberikan sebuah Tipe Data dan nama yang unik. Untuk itu, pengetahuan tentang tipe-tipe data dalam suatu bahasa pemrograman sangat penting. Check this out!

APA ITU TIPE DATA?

Tipe data adalah jenis data yang mempunyai batasan dan karakteristik sesuai dengan interpretasi data dan dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer.

Contoh Data Types (Tipe Data) :

  • Aplhanumeric string (contoh : "abcdef")
  • Boolean (contoh: "and" dan "or")
  • Character (contoh: "x")
  • Floating-point number (contoh: "3.14")
  • Integer (Contoh: "124531")
TIPE DATA DALAM BAHASA PASCAL

Secara garis besar, kita dapat gambarkan Tipe Data dalam Pascal seperti berikut :

sumber : http://www.tutorialspoint.com/images/pascal_datatypes.jpg
TIPE DATA STANDAR DALAM BAHASA PASCAL


Type
Tipe Dat
Contoh
String
Text/Kata
‘Budi’, ‘Bandung’
Integer
Bilangan Bulat
1, 2, 123
Real
Bilangan Desimal
2.23 , 2.12
Boolean
Logika (True atau False)
TRUE, FALSE
Character
Karakter
‘A’, ‘B’
Range Tipe Data untuk Type Integer :

Type
Minimum
Maximum
Format
Integer
-2147483648
2147483647
signed 32-bit
Cardinal
0
4294967295
unsigned 32-bit
Shortint
-128
127
signed 8-bit
Smallint
-32768
32767
signed 16-bit
Longint
-2147483648
2147483647
signed 32-bit
Int64
-2^63
2^63 - 1
signed 64-bit
Byte
0
255
unsigned 8-bit
Word
0
65535
unsigned 16-bit
Longword
0
4294967295
unsigned 32-bit
Range Tipe Data untuk Type Real :

Type
Range
Angka Signifikan
Size
Real
platform dependant
???
4 atau 8
Double
1.5E-45 .. 3.4E38
7-8
4
Single
5.0E-324 .. 1.7E308
15-16
8
Extended
1.9E-4932 .. 1.1E4932
19-20
10
Comp
-2E64+1 .. 2E63-1
19-20
8
Currency
-922337203685477.5808 .. 922337203685477.5807
19-20
8

TIPE ENUMERASI DAN SUBRANGE

a. Tipe Enumerasi

Tipe Enumerasi adalah Tipe Data yang didefinisikan oleh programmer. Dengan Tipe Enumerasi, kita dapat membuat Tipe Data kita sendiri. Tapi, hanya Assignment Operator dan Relational Operator yang diizinkan digunakan dalam Tipe Data ini. Berikut adalah syntax dasar pendeklarasian Tipe Enumerasi :

type
       enum-identifier = ( item1, item2,  item3, … );

Beberapa contoh pendeklarasian Tipe Enumerasi :

type
       Bentuk = (Bulat, Kotak, Elips, Segitiga);
       Warna = (Coklat, Hitam, Putih, Biru, Merah);
       Ikan = (Lele, Nila, Mas, Hiu);
       Bulan = (Januari, Februari, Maret, April, Mei, Juni, Julli, Agustus, September, Oktober,
                      November, Desember);

contoh penggunaan Tipe Enumerasi dalam program :

type
       Minuman = (Teh, Kopi, Susu, Jus, Soda);
       Makanan = (Ketoprak, Nasi_Goreng, Nasi_Kuning);
Var
       Makan : Makanan;
       Minum : Minuman;
Begin
      Makan := Ketoprak;
      Minum := Teh;
      Writeln('Kemarin, Saya makan ', Makan,'.');
      Writeln('Lalu, Saya minum ', Minum,'.');
End.

bila program diatas dijalankan, maka keluarannya akan seperti

Kemarin, Saya makan Ketoprak.
Lalu, Saya minum Teh.

b. Tipe Subrange

Tipe Subrange memperbolehkan kita membatasi variable dengan range nilai(ordinal types) tertentu.  Untuk mendefinisikan tipe subrange, harus ada 2 nilai pembatas: nilai terendah(lower-limit) dan nilai tertinggi (upper-limit) dari tipe tersebut. Syntax dari tipe ini adalah:

type
subrange-identifier = lower-limit … upper-limit;

contohnya,

type
bulan = 1 … 12;
abjad = a … b;

Tipe Subrange juga dapat dibuat dari subset yang sudah di definisikan di Tipe Enumerasi. Misal,

type
       Bulan = (Januari, Februari, Maret, April, Mei, Juni, Juli, Agustus, September, Oktober,
                      November, Desember);
       semester1 = Januari … Juni;
       semester2 = Juli … Desember;

Sebagai perkenalan dengan beberapa tipe data dalam bahasa Pascal, saya rasa sudah cukup. Berikutnya akan saya posting kembali bentuk tipe data yang lainnya yang dapat kita gunakan dalam bahasa Pascal. Sekian postingan kali ini, Terimakasih :D