Jumat, 13 April 2012

MAMFAAT BELAJAR BAHASA PEMOGRAMAN PASCAL


Perkembangan Bahasa Pascal

Pada tahun 1960, beberapa ilmuan bekerja untuk mengembangkan bahasa ALGOL (Algorithmic Logic). Salah satu dari mereka adalah Dr. Niklaus Wirth anggota dari Swiss Federal Institute of Technology (ETH-Zurich). Pada tahun 1971, Dr. Niklaus Wirth mempublikasikan suatu spesifikasi untuk bahasa terstruktur yang dalam beberapa hal menyerupai ALGOL. Dia menamainya Pascal, sebagai penghormatan kepada Blaise Pascal, filsuf dan matematikawan Francis abad 17, yang menciptakan komputer digital pertama.
Bahasa Pascal berorientasi data, programmer diberi kemampuan untuk mendefenisikan tipe data sendiri. Dengan kebebasan ini pengecekan tipe data dilakukan secara ketat, yang menjamin bahwa tipe data yang didefenisikan tidak membingungkan. Pascal ditujukan sebagai bahasa pembelajaran, dan telah diterima secara luas. Pascal menggunakan bahasa Inggris sebagai penulisan kodenya, sehingga penulisannya dan pengembangannya mudah dipahami.
Prof. Ken Bowles mengembangkan sistem UCSD Pascal (University of California at San Diego) yang diterapkan pada komputer personal Apple II, komputer mikro yang sangat terkenal pada saat itu. USCD Pascal menjadi standard dan telah digunakan di universitas-universitas secara luas, ditambah murahnya harga komputer Apple II dibandingkan dengan komputer mainframe. Penggunaan komputer personal juga meningkat karena dukungan tiga sistem operasi personal : CP/M-86, Softech UCSD dan MicroSoft PC-Dos.
Awal tahun 1980 Pascal telah diterima secara luas di universitas. Terdapat dua hal yang membuatnya semakin terkenal, yaitu :
- Education Testing Service, perusahaan yang mengelola ujian masuh perguran tinggi di Amerika Serikat, memutuskan menambahkan ujian ilmu komputer untuk tingkat SMA. Untuk melakukan ujian ini dipilih bahasa Pascal. Karena hal tersebut, pelajar kelas dua SMA dan juga mahasiswa mulai belajar Pascal hingga tahun 1999, hingga akhirnya diganti dengan bahasa C++ dan selanjutnya diganti dengan Java.
- Kedua, perusahaan Borland Internasional hadir dengan compiler Turbo Pascal untuk komputer personal IBM. Compiler ini sangat revolusioner. Turbo Pascal dibuat dengan modifikasi-modifikasi pada Pascal standard, dan hal ini membawa manfaat yang besar pada kecepatannya.
Dari versi 1.0 hingga 7.0, Borland secara berkesinambungan terus mengembangkan Turbo Pascal. Salah satu kritik atas versi Pascal awal adalah kelemahannya akan pemisahan kompilasi pada modul-modul. Dr. Wirth menyadari akan hal tersebut, sehingga di menciptakan suatu bahwa pemrograman Modula-2. Borland menutupi kekurangan ini dengan unitnya.
Dengan versi 7.0 banyak fitur-fitur yang telah ditambahkan. Salah satu adalah DPMI (Dos Protected Sistem Interface), salah satu cara untuk menjalakan program-program dos dalam sistem terproteksi, memperoleh kecepatan lebih dan memecahkan rintangan 640K pengaksesan memory pada DOS. Ketika Windows 3.0 hadir, Borland menciptakan Turbo Pascal untuk Windows, hadir dengan kecepatan dan kemudahan untuk antar muka grafis (grapical user interface)[Yue].

Mengapa Mesti Belajar Bahasa Pascal ?
Pertanyaan ini seringkali muncul bagi para programmer baru. Mereka sering bilang bahwa banyak bahasa programmer yang ada di pasaran yang jauh lebih canggih daripada pascal, seperti : C++, Java, C, Visual Basic, dll. Tetapi benarkah demikian ? Atau hanya trand yang berkembang sehingga mereka mengukutinya begitu saja. Berikut ini akan diberikan gambaran mengapa mesti belajar bahasa pascal.
1. Kecepatan (speed)
Kecepatan bahasa pascal untuk mengkompilasi baris program dapat dikatakan sekejap mata saja. Anda banyangkan kode baris program yang ribuan jumlahnya diterjemahkan dalam hitungan detik. Coba anda buktikan dengan bahasa pemrograman lainnya (C, C++, Java, dll)
2. Tipe data yang kuat
Pascal mengijinkan pemakainya untuk membuat tipe data sendiri, tetapi dengan beberapa batasan. Pascal tidak mengenal pengubahan tipe data (type casting) dan hal ini tentu saja memberi manfaat karena kemungkinan timbulnya kesalahan (error) kecil. Hal ini merupakan salah satu alasan utama yang dilakukan panitia ujian masuk mahasiswa untuk mata ujian komputer di Amerika.
3. Ukuran
Hasil compilasi dari program pascal hanya beberapa kilo byte saja. Sungguh kecil. Bila kita bandingkan dengan kapasitas ruang hard disk yang 40 mega byte, dapat dibanyangkan berapa besar program pascal yang dapat kita buat.
4. Portabilitas
Portabilitas berarti program pascal dapat berjalan pada jenis komputer yang berbeda, seperti : IBM, Apple, dll.
4. Produktivitas
Untuk belajar suatu bahasa pemrograman pada dasarnya sama, yaitu : harus mengenal aturan dan struktur data dari bahasa tersebut. Anda dapat bayangkan kalau tukang bangun tidak memiliki arsitektur yang jelas tentang bangunan rumah tersebut, tentu saja rumah yang akan dibangun tidak akan baik. Pascal menyediakan struktur data yang jelas, dengan demikian produktivitas hasil kerja kita tentu saja akan bertambah.
Dan satu hal yang jelas bahasa turbo pascal for windows atau visual delphi adalah turunan dari turbo pascal. Dan bila struktur dari program pascal sudah kita pahami, maka untuk memahami pascal for windows ataup visual Delphi tidaklah sulit lagi. Orang bijak bilang ‘belajar dari dasar merupakan modal yang paling besar’. Untuk itulah Pascal hadir bagi kita.


Kelebihan dari bahasa pemrograman Pascal adalah:
  • Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada kebanyakan bahasa pemrograman. Pascal memiliki tipe data standar: boolean, integer, real, char, string,
  • User defined Data Types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.
  • Strongly-typed, programmer harus menentukan tipe data dari suatu variabel, dan variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari format yang ditentukan.
  • Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedure dan function) yang dapat dipergunakan berulang-ulang.
  • Sederhana dan Ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa Inggris) sehingga mudah dipelajari dan dipahami.
Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar bahasa pemrograman bagi tim nasional Olimpiade Komputer Indonesia (TOKI). Selain itu, Bahasa PASCAL masih digunakan dalam IOI (International Olympiad in Informatics).
Mamfaat belajar bahasa pemograman Pascal
·        Terletak pada pemahaman logikanya,konseptualnya,sistematikanya dan pemahaman gerbang logikanya. Yang keseluruhan konsep struktur logikanya ( Logic Gate) bisa diaplikasikan untuk memahami bidang lainnya lebih luas secara desriptif.
·        Mamfaat mempelajari pemograman untuk aktivitas dan pekerjaan umum sehari-hari secara umum dalam berbagai bidang terletak pada konsep logikanya yang sistematis dalam memecahkan objek problematika tertentu  sesuai dengan flow chart (alur logika).

kode program / sintaks pascal (Luas persegi panjang. segitiga dan lingkaran),

 KODE PROGRAM / SINTAKS PASCAL

Seperti biasa ada teman yang minta tolong dibuatin program untuk menghitung luas Lingkaran, Segitiga dan Persegi dengan menggunakan bahasa Pascal. Katanya ketentuan programnya sebagai berikut.

  1. Saat pertama dijalankan, program menampilkan menu hitung luas lingkaran, segitiga atau persegi.
  2. Saat yang dipilih nomor 1 maka ditampilkan program menghitung luas lingkaran, begitu seterusnya
  3. Saat yang dipilih tidak ada di menu maka tampil "Pilihan Anda Salah!"

Nah, langsung deh saya buatin programnya, langsung dech copy aja kode program berikut ini. Jika sobat ada masalah saat menjalankan program ini cukup ubah saja bagian USES WINCRT; menjadi USES CRT; atau sebaliknya.

Caranya:

program hitungluas; {nama program}
uses crt;
var   {deklarasi variabel untuk program utama}
   pilih : integer;
   hasil : real;
   ulang : char;


{membuat fungsi menu bertipe data integer}
function menu : integer;

var
   pil:integer; {deklarasi variabel utk fungsi menu}

begin
     {tampilkan menu program}
     writeln('==============================');
     writeln('     Program Hitung Luas');
     writeln('==============================');
     writeln('1. Hitung Luas Lingkaran');
     writeln('2. Hitung Luas Segitiga');
     writeln('3. Hitung Luas Persegi');
     writeln('==============================');
     write  ('     Pilihan Anda: ');readln(pil); {meminta input dari user dan disimpan di variabel pil}
     writeln('==============================');
     menu := pil; {mengembalikan nilai variabel pil pada fungsi menu}

end;   {akhir fungsi menu}


{membuat fungsi lingkaran bertipe data real}
function lingkaran : real;

var    {deklarasi variabel utk fungsi lingkaran}
   pi, r : real;

begin
     write('Jari-jari Lingkaran: '); {meminta input jari-jari lingkaran}
     read(r);                     {dan disimpan di variabel r}

     pi := 3.14; {memasukkan nilai 3.14 pd variabel pi}

     lingkaran := pi*r*r; {menghitung luas lingkaran dan mengembalikan nilai hasil pada fungsi lingkaran}

end;  {akhir fungsi lingkaran}


{membuat fungsi segitiga bertipe data real}
function segitiga : real;

var
   a, t : real; {deklarasi variabel utk fungsi segitiga}

begin
    write('Alas Segitiga : ');{meminta input alas segitiga}
    readln(a);               {dan disimpan di variabel a }

    write('Tinggi Segitiga : ');{meminta input tinggi segitiga}
    readln(t);                  {dan disimpan di variabel t }

    segitiga := 0.5*a*t;  {menghitung luas segitiga dan mengembalikan nilai hasil pada fungsi segitiga}

end; {akhir fungsi segitiga}


{membuat fungsi persegi bertipe data real}
function persegi : real ;

var
   p, l : real;  {deklarasi variabel utk fungsi persegi}

begin
     write('Panjang Persegi : '); {meminta input panjang persegi}
     readln(p);                   {dan disimpan di variabel p }

     write('Lebar Persegi : ');  {meminta input lebar persegi}
     readln(l);                  {dan disimpan di variabel l }

     persegi := p*l;  {menghitung luas persegi dan mengembalikan nilai hasil pada fungsi persegi}

end; {akhir fungsi persegi}


{membuat prosedur nama utk menampilkan nama pembuat program ini}
procedure nama;
begin
     writeln('==============================');
     writeln('           Andi Sholihin');           {tampilkan nama pembuat program}
     writeln('      Teknik Informatika');
     writeln('==============================');
     writeln;
end;   {akhir prosedur nama}


{Program utama}
begin

  repeat  {lakukan perulangan repeat-until}

     clrscr;  {clear screen, membersihkan layar}

     nama; {memanggil prosedur nama}

     pilih := menu; {memanggil fungsi menu dan menyimpan pengembalian nilainya di variabel pilih}

     case pilih of {penyeleksian kondisi variabel pilih dgn struktur Case}

          1 : hasil := lingkaran ; {jika pilih = 1 maka panggil fungsi lingkaran dan masukkan hasilnya ke variabel hasil}

          2 : hasil := segitiga ;  {jika pilih = 2 maka panggil fungsi segitiga dan masukkan hasilnya ke variabel hasil}

          3 : hasil := persegi ;   {jika pilih = 3 maka panggil fungsi persegi dan masukkan hasilnya ke variabel hasil}

          else writeln('Pilihan Anda Salah!');   {jika pilihan salah maka tampilkan peringatan}
               writeln('==============================');
     end;

     if (pilih < 4) and (pilih > 0) then {jika nilai pilih lebih kecil dari 4 dan lebih besar dari 0}
       begin
         writeln('=============================='); {maka tampilkan nilai dari variabel hasil}
         writeln('Hasil Perhitungan: ',hasil:5:2);
         writeln('==============================');
       end;

  write('Coba lagi? (y/n) : ');readln(ulang); {meminta input apakah akan mengulang program? inputan disimpan di variabel ulang}

  until (ulang = 'n') or (ulang = 'N') ;  {perulangan repeat berhenti jika nilai variabel ulang = 'n' atau 'N'}
 
end.  {akhir program utama}