MODUL ALGORITMA DAN PEMROGRAMAN

BAB I


ALGORITMA DAN PEMROGRAMAN


1.1. Definisi Algoritma


“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”.Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.


Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.


Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan


keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut.


Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.


Jenis-jenis Algoritma


Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.




  • Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.

  • Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.


Contoh Algoritma :


Algoritma Tukar Isi Bejana


Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.


DESKRIPSI :




  1. Tuangkan larutan dari bejana A ke dalam bejana C.

  2. Tuangkan larutan dari bejana B ke dalam bejana A.

  3. Tuangkan larutan dari bejana C ke dalam bejana B.


Ciri penting Algoritma :




  1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.

  2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas).

  3. Algoritma memiliki nol atau lebih masukkan.

  4. Algoritma memiliki nol atau lebih keluaran.

    1. algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).




1.2. Beda Algoritma dan Program


Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.


Beberapa pakar memberi formula bahwa:


 


Program = Algoritma + Bahasa (Struktur Data)


Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.


Pembuatan algoritma mempunyai banyak keuntungan di antaranya:




  1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.

  2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.

  3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.


Beberapa hal yang perlu diperhatikan dalam membuat algoritma:




  1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.

  2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.

  3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.

  4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.

  5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.

  6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu:

    1. Pendeklarasian variabel




Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya.




  1. Pemilihan tipe data


Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.




  1. Pemakaian instruksi-instruksi


Beberapa instruksi mempunyai kegunaan yang sama tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda.




  1. Aturan sintaksis


Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.




  1. Tampilan hasil


Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.




  1. Cara pengoperasian compiler atau interpreter.


Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.


1.3. Algoritma Merupakan Jantung Ilmu Informatika


Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja.


Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut.


Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat menyebabkan kejadian.


Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, dan memanfaatkan pernyataan-pernyataan tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa pemrogram, antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasabahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo. Berdasarkan terapannya, bahasa pemrograman dapat digolongkan atas dua kelompok besar:




  1. Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok ini adalah Cobol (untuk terapan bisnis dan administrasi). Fortran (terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa simulasi, dan sebagainya.

  2. Bahasa perograman bertujuan umum, yang dapat digunakan untuk berbagai aplikasi. Yang termasuk kelompok ini adalah bahasa Pascal, Basic dan C. Tentu saja pembagian ini tidak kaku. Bahasabahasa bertujuan khusus tidak berarti tidak bisa digunakan untuk aplikasi lain. Cobol misalnya, dapat juga digunakan untuk terapan ilmiah, hanya saja kemampuannya terbatas. Yang jelas, bahasabahasa pemrograman yang berbeda dikembangkan untuk bermacam-macam terapan yang berbeda pula. Berdasarkan pada apakah notasi bahasa pemrograman lebih “dekat” ke mesin atau ke bahasa manusia, maka bahasa pemrograman dikelompokkan atas dua macam:

    1. Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa mesin. CPU mengambil instruksi dari memori, langsung mengerti dan langsung mengerjakan operasinya. Bahasa tingkat rendah bersifat primitif, sangat sederhana, orientasinya lebih dekat ke mesin, dan sulit dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke dalam kelompok ini karena alasan notasi yang dipakai dalam bahasa ini lebih dekat ke mesin, meskipun untuk melaksanakan instruksinya masih perlu penerjemahan ke dalam bahasa mesin.

    2. Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih “manusiawi”, dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan sebagainya. Bahasa pemrograman bisa juga dikelompokkan berdasarkan pada tujuan dan fungsinya. Di antaranya adalah:




Gambar 1.2 Pembagian Bahasa Pemrograman


1.4. Struktur Dasar Algoritma


Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:




  1. Struktur Runtunan


Digunakan untuk program yang pernyataannya sequential atau urutan.




  1. Struktur Pemilihan


Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.




  1. Struktur Perulangan


Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.


1.5. Tahapan dalam Pemrograman


Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah:




  1. Definisikan Masalah


Berikut adalah hal-hal yang harus diketahui dalam analisis masalah supaya kita mengetahui bagaimana permasalahan tersebut:




  1. Kondisi awal, yaitu input yang tersedia.

  2. Kondisi akhir, yaitu output yang diinginkan.

  3. Data lain yang tersedia.

  4. Operator yang tersedia.

  5. Syarat atau kendala yang harus dipenuhi.


Contoh kasus:


Menghitung biaya percakapan telepon di wartel. Proses yang perlu diperhatikan adalah:




  1. Input yang tersedia adalah jam mulai bicara dan jam selesai bicara.

  2. Output yang diinginkan adalah biaya percakapan.

  3. Data lain yang tersedia adalah besarnya pulsa yang digunakan dan biaya per pulsa.

  4. Operator yang tersedia adalah pengurangan (-), penambahan (+), dan perkalian (*).

  5. Syarat kendala yang harus dipenuhi adalah aturan jarak dan aturan waktu.

  6. Buat Algoritma dan Struktur Cara Penyelesaian Jika masalahnya kompleks, maka dibagi ke dalam modul-modul. Tahap penyusunan algoritma seringkali dimulai dari langkah yang global terlebih dahulu. Langkah global ini diperhalus sampai menjadi langkah yang lebih rinci atau detail. Cara pendekatan ini sangat bermanfaat dalam pembuatan algoritma untuk masalah yang kompleks. Penghalusan langkah dengan cara memecah langkah menjadi beberapa langkah. Setiap langkah diuraikan lagi menjadi beberapa langkah yang lebih sederhana. Penghalusan langkah ini akan terus berlanjut sampai setiap langkah sudah cukup rinci dan tepat untuk dilaksanakan oleh pemroses.

  7. Menulis Program


Algoritma yang telah dibuat, diterjemahkan dalam bahasa komputer menjadi sebuah program. Perlu diperhatikan bahwa pemilihan algoritma yang salah akan menyebabkan program memiliki untuk kerja yang kurang baik. Program yang baik memiliki standar penilaian:




  1. Standar teknik pemecahan masalah


- Teknik Top-Down


Teknik pemecahan masalah yang paling umum digunakan.


Prinsipnya adalah suatu masalah yang kompleks dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil. Dari masalah yang kecil tersebut dilakukan analisis. Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail.


- Teknik Bottom-Up


Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-prosedur yang ada menjadi satu kesatuan program sebagai penyelesaian masalah tersebut.




  1. Standar penyusunan program


- Kebenaran logika dan penulisan.


- Waktu minimum untuk penulisan program.


- Kecepatan maksimum eksekusi program.


- Ekspresi penggunaan memori.


- Kemudahan merawat dan mengembangkan program.


- User Friendly.


- Portability.


- Pemrograman modular.


4. Mencari Kesalahan




  1. Kesalahan sintaks (penulisan program).

  2. Kesalahan pelaksanaan: semantik, logika, dan ketelitian.


5. Uji dan Verifikasi Program


Pertama kali harus diuji apakah program dapat dijalankan. Apabila program tidak dapat dijalankan maka perlu diperbaiki penulisan sintaksisnya tetapi bila program dapat dijalankan, maka harus diuji dengan menggunakan data-data yang biasa yaitu data yang diharapkan oleh sistem. Contoh data ekstrem, misalnya, program menghendaki masukan jumlah data tetapi user mengisikan bilangan negatif. Program sebaiknya diuji menggunakan data yang relatif banyak.


6. Dokumentasi Program


Dokumentasi program ada dua macam yaitu dokumentasi internal dan dokumentasi eksternal. Dokumentasi internal adalah dokumentasi yang dibuat di dalam program yaitu setiap kita menuliskan baris program sebaiknya diberi komentar atau keterangan supaya mempermudah kita untuk mengingat logika yang terdapat di dalam instruksi tersebut, hal ini sangat bermanfaat ketika suatu saat program tersebut akan dikembangkan. Dokumentasi eksternal adalah dokumentasi yang dilakukan dari luar program yaitu membuat user guide atau buku petunjuk aturan atau cara menjalankan program tersebut.


7. Pemeliharaan Program




  1. Memperbaiki kekurangan yang ditemukan kemudian.

  2. Memodifikasi, karena perubahan spesifikasi.


BAB II


BAHASA PEMROGRAMAN PASCAL


Bahasa Pascal dirancang oleh Niclaus Wirth pada tahun 1970. Turbo Pascal merupakan salah satu versi bahasa pascal yang dikembangkan oleh Borland International. Bahasa Pascal merupakan bahasa tingkat tinggi (High Level Languange) yaitu bahasa pemrograman yang mudah dipahami oleh manusia. Pascal merupakan pemrograman terstruktur yang tersusun atas sejumlah blok. Blok-blok yang kecil selanjutnya dapat dapat dipakai untuk membuat blok yang lebih besar. Blok ini lebih dikenal dengan sebutan subprogram, yang dibedakan atas prosedur dan fungsi.


Mulai dari awal perkembangannya hingga saat ini banyak sekali jenis bahasa pemrograman ini, masing-masing merupakan hasil pengembangannya, antara lain :


UCSD Pascal


Microsoft Pascal


Apple Pascal


Turbo Pascal


Dsb


Kelebihan


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).


STRUKTUR PROGRAM BAHASA PASCAL


Skema dari pemrograman Pascal adalah sebagai berikut:


Program Nama_Program;


Deklarasi (berisi variabel yang terlibat)


               (Deklarasi label, konstan, tipe, variabel, subprogram)


Deskripsi   ~ berisi detail program / termasuk program utama


         Begin


Pernyataan;


……


Pernyataan;


End;


Sebagai bahasa terstruktur, PASCAL mempunyai ciri-ciri sebagai berikut:




  1. Berurutan Susunan dari kode-kode dalam teks Pascal harus ditulis secara urut dari atas, pernyataan-pernyataan yang ditulis lebih awal akan dieksekusi lebih dahulu. Oleh karena itu, suatu pernyataan yang menyangkut suatu variabel di dalam program, maka variable itu harus terdefinisi dahulu sebelumnya. Hal ini terutama menyangkut pada pemanggilan sub-program oleh sub-program yang lain. Bisa dibaca lebih lanjut pada bagian sub-program.

  2. Blok dengan batas-batas yang jelas. Pascal memberikan pembatas yang jelas pada tiap-tiap blok, seperti pada blok program utama, sub-program, struktur kontrol (pengulangan/ pemilihan), dll. Pemakaian kata kunci begin untuk mengawali operasi pada blok dan end untuk menutupnya memudahkan programmer menyusun programnya dengan mudah.


Seperti contoh:


If X>0 then


begin Write ( ‘ bilangan positif’);


Writeln ( ‘ program selesai’);


end;




  1. 3.        Satu pintu masuk dan satu pintu keluar pada blok pemilihan dan pengulangan. Contoh di atas juga mengilustrasikan pintu masuk tunggal pada suatu blok pemilihan yaitu suatu test logika X>0, dengan pintu keluaran yang satu pula (satu disini maksudnya bukan dua baris perintah output tapi suatu paket perintah yang dirangkai dengan begin .. end.


 



Komponen Dasar Program Pascal


Pola susun bahasa Pascal dibentuk dengan menggunakan komponen bahasa pemrograman yang umum, yaitu :




  1. Simbol Dasar

  2. Reserved Word (kata pasti)

  3. Identifier (penyebut)

  4. 1.      Simbol Dasar.


Simbol dasar terdiri atas :




  1. Simbol huruf, yaitu huruf A sampai dengan Z atau a sampai dengan z.


(huruf besar dan kecil).




  1. Simbol angka atau digit yaitu : 0,1,2,3,4,5,6,7,8,9.

  2. Simbol khusus, yaitu


+   -   *   /   ;   :=   ,   ‘   =   <   >   <=   >=   <>   :   {  }   ( )   [   ]




  1. 2.      Reserved Word (kata pasti)


Reserved Word adalah suatu kata yang secara mutlak tidak boleh diartikan lain dan harus digunakan sebagaimana yang telah didefinisikan atau ditentukan kegunaanya oleh bahasa Pascal. Reserved word ini tidak boleh didefinisikan ulang oleh pemakai, sehingga tidak dapat dipergunakan sebagai pengenal (identifier)


Reserved Word ini jumlahnya berbeda untuk masing-masing bahasa Pascal.


Contoh beberapa reserved word yang telah didefinisikan oleh bahasa pascal antara lain


      AND               ELSE                          LABEL                       SET


      ARRAY          END                            OF                               TYPE


      BEGIN           FUNCTION               OR                              UNTIL


      CASE              FOR                            PROCEDURE            VAR


      CONST           GOTO                         PROGRAM                WHILE


      DO                  IF                                RECORD                   WITH


      DOWNTO      IN                                REPEAT                     dsb




  1. 3.      Identifier (sebutan/pengenal)


Identifier merupakan sebuah kata yang digunakan sebagai nama atau sebutan terhadap sesuatu didalam program. Pemakai dapat mendefinisikan sendiri suatu nama sebagai identifier.


Identifier ini terdiri atas :




  1. Identifier Standar, yaitu identifier yang telah didefinisikan oleh bahasa pascal.


Contoh dari Identifier standar ini antara lain:


ABS                            LN


ARCTAN                   ODB


BOOLEAN                PRED


CHAR                         ROUND


CHR                            READ


COS                            READLN


EOF                            SQR


EOLN                         SQRT


EXP                            SUCC


            Dan masih banyak lagi.




  1. Identifier Non Standar; yaitu identifier yang didefinisikan oleh pemakai bahasa pascal; misalnya;



  1. nama suatu program

  2. nama suatu konstanta

  3. nama suatu variabel

  4. nama suatu procedure


Identifier ini bebas, tetapi dengan ketentuan-ketentuan sebagai berikut :




  1. terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Huruf besar dan huruf kecil dianggap sama.

  2. Tidak boleh mengandung blank.

  3. Tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah.

  4. Panjangnya bebas, tetapi hanya 63 karakter pertama yang dianggap signifikan.


Contoh :


































IdentifierKeterangan
GajiKaryawanBenar
No_MhsBenar
P3KBenar
1XSalah, karakter pertama harus huruf
A&BSalah, tidak boleh mengandung simbol khusus
A BSalah, tidak boleh mengandung blank

 


 


 


 


Jenis – jenis data


 


Jenis – jenis data yang dikenal dalam bahasa pascal antara lain yaitu:




  1. Jenis data sederhana



  1. Jenis data yang standar; yaitu :



  • Integer

  • Real

  • Karakter

  • Boolean

  • Enumerated

  • Sub-range



  1. Jenis data yang non standar (user defined), yaitu;



  1. Jenis data berstuktur, yaitu:

  2. Jenis Data Pointer



  1. Array

  2. Record

  3. Set

  4. File


INTEGER


            Jenis data ini terdiri atas integer positif, integer negatif dan nol. Merupakan nilai bilangan bulat.


Pada TURBO PASCAL jenis data ini di bagi atas beberapa bagian, yaitu :





































Tipe



Ukuran memori


(dalam byte)



Jangkauan nilai


BYTE

1



0..255


SHORTINT

1



-128..127


INTEGER

2



-32768..32767


WORD

2



0..65535


LONGINT

4



-2147483648..2147483647



Operator Integer terdiri atas :  + , - , * , / , DIV dan MOD


Contoh :


Var


            Jumlah : byte;


Begin


            Jumlah := 200;


            WriteLn(‘Nilai JUMLAH = ‘,Jumlah);


End.


Hasilnya bila dijalankan :


            Nilai JUMLAH = 200



REAL


Penulisan untuk jenis data ini selalu menggunakan titik desimal. Nilai konstanta numerik real berkisar dari 1E-38 sampai dengan 1E+38 dengan mantissa yang signifikan sampai dengan 11 digit. E menunjukkan nilai 10 pangkat. Nilai konstanta numerik real menempati memori sebesar 6 byte.


Contoh :


123.45


12345.  ® salah, titik desimal tidak boleh dibelakang


12E5


12E+5


-12.34


.1234  ® salah, titik desimal tidak boleh dimuka


Pada TURBO PASCAL, jenis data ini dibedakan atas :





































Tipe



Ukuran memori


(dalam byte)



Jangkauan nilai



Digit signifikan


SINGLE

4



1.5x10E-45 .. 3.4x10E38



7-8


DOUBLE

8



5.0x10E-324 .. 1.7x10E308



15-16


EXTENDED

10



1.9x10E-4951 .. 1.1x10E4932



19-20


COMP

8



-2E+63+1 .. 2E+63-1



19-20



Operator untuk jenis data ini terdiri atas : + , - , * dan /



KARAKTER


Yang dimaksud dengan jenis data ini adalah karakter tunggal atau sebuah karakter yang ditulis diantara tanda petik tunggal, seperti misalnya ‘A’,’a’,’!’,’5’ dsb


Dasarnya adalah ASCII CHARACTER SET.


Misalnya : 032 pada tabel ASCII CHARACTER SET menunjukkan karakter.


                        Blank.


            033                              !


            048                               0


076                               L


            dst



STRING


Nilai data string merupakan urut-urutan dari karakter yang terletak di antara tanda petik tunggal. Nilai data string akan menenpati memori sebesar banyaknya karakter stringnya ditambah dengan 1 byte. Bila panjang dari suatu string di dalam deklarasi variabel tidak disebutkan, maka dianggap panjangnya adalah 255 karakter.


Contoh :


Var


            Kampus : string[10];


Begin


            Kampus := ‘Gunadarma’;


Write(Kampus);


End.



BOOLEAN


Jenis data ini mempunyai nilai TRUE atau FALSE.


Operator untuk jenis data ini adalah :




  1. Logical Operator, yaitu : NOT, AND dan OR

  2. Relational Operator, yaitu : >, <, >=, <=, <> dan =


JENIS DATA NON-STANDARD (USER DEFINED)




  1. 1.      ENUMERATED.


Jenis data ini terdiri atas barisan identifier yang terurut dimana setiap identifier tersebut dianggap sebagai suatu individual data item (elemen data yang berdiri sendiri).


Pada saat mendeklarasikan jenis data ini kita harus menuliskan semua elemen-elemennya.


Bentuk umum deklarasinya adalah :


TYPE nama = (data_item_1, data_item_2, ……., data_item_n);


Contoh :


TYPE hari = (sen,sel,rab,kam,jum,sab,ming);


TYPE warna = (red,blue,green,yellow,black,white);


Setelah jenis data ini dideklarasikan, maka selanjutnya kita dapat mendeklarasikan suatu variabel yang berjenis data sama dengan jenis data ini.


Misalnya :


                  TYPE nama_hari = (sen,sel,rab,kam,jum,sab,ming);


                  VAR libur : nama_hari;


Fungsi standar yang dapat digunakan pada jenis data ini adalah :


PRED, SUCC dan ORD


Misalnya :


      PRED (sel) = sen


      SUCC (sen) = sel


      ORD (sen) = 0


      ORD (sel) = 1




  1. 2.      SUB-RANGE.


Jenis data ini berupa range dari suatu kumpulan data yang mempunyai urutan..


Bentuk umum deklarasinya adalah :


      TYPE nama = data_item_pertama .. data_item_terakhir;


Contoh :




  1. TYPE        jam_kuliah = 1 .. 10;


tanggal = 1 .. 31;


abjad = ‘A’ .. ‘Z’;




  1. TYPE        bulan = (jan,feb,mar,apr,mei,jun,jul,agt,sep,okt,nov,des);


hari = (sen,sel,rab,kam,jum,sab,ming);


ata = agt .. jan;


pta = feb .. jun;


hari_kerja = sen .. jum;



TANDA OPERASI


Tanda operasi (operator) di dalam bahasa Pascal dikelompokkan ke dalam 9 kategori, yaitu




  1. Assignment operator.

  2. Binary operator.

  3. Unary operator.

  4. Bitwise operator.

  5. Relational operator.

  6. Logical operator.

  7. Address operator.

  8. Set operator.

  9. String operator.


Assignment operator


            Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda sama dengan (:=).


Contoh :


                        A:=B;



Binary operator


            Digunakan untuk mengoperasikan dua buah operand. Operand dapat berbentuk konstanta ataupun variabel. Operator ini digunakan untuk operasi aritmatika yang berhubungan dengan nilai tipe data integer dan real.


















Operator



Operasi



Tipe operand



Tipe hasil



*


Perkalianreal,real

integer,integer

real,integerreal

integer

real

DIV


Pembagian bulatinteger,integerinteger

/


Pembagian realreal,real

 

integer,integer

real,integerreal

real

real

MOD


Sisa pembagianinteger,integerinteger

+


Pertambahanreal,real

 

integer,integer

real,integerreal

integer

real

-


penguranganreal,real

 

integer,integer

real,realreal

integer

real

Contoh :


                        15*5                hasilnya           75


                        20/3                 hasilnya           6.6666666667E+00


                        20 div 3           hasilnya           6


                        20 mod 3         hasilnya           2



Unary operator


            Operator ini hanya menggunakan sebuah operand saja. Dapat berupa unary minus dan unary plus. Unary minus digunakan untuk menunjukkan nilai negatif, baik pada operang numerik real maupun integer. Unaru plus adalah operator untuk memberai tanda plus.


Contoh :


                        -5         +7


                        -2.5      +2.5



Bitwise operator


            Digunakan untuk operasi bit per bit pada nilai integer. Terdiri dari operator NOT, AND, OR, XOR, Shl, Shr.



Relational operator


            Relational operator digunakan untuk  membandingkan hubungan antara dua buah operand dan akan didapatkan hasil tipe boolean, yaitu True atau False. Terdiri dari operator : =, <, >, <=, >=, <>



Logical operator


            Terdapat 4 buah logical operator yaitu : NOT, AND, OR dan XOR. Operator ini bekerja dengan nilai-nilai logika, yaitu True dan False.



Set operator


            Digunakan untuk operasi himpunan.



String operator


            Digunakan untuk operasi string. Hanya ada sebuah operator string saja, yaitu operator + yang digunakan untuk menggabungkan dua buah nilai string.


Contoh :


                        Nama1 := ‘Arief ‘;


                        Nama2 := ‘Kurniawan’;


                        Nama3 := Nama1 + Nama2;


 


Konstanta, Variabel dan Ekspresi.


Konstanta.


Konstanta adalah suatu identifier non-standar yang nilainya telah ditetapkan dalam suatu program dan dideklarasikan pada bagian deklarasi.


Bagian umum deklarasinya adalah :


            CONST identifier = nilai;


Contoh :


            CONST           phi = 3.14;


                                    x= 2;


                                    y = ‘S’;


Variabel.


Variabel adalah suatu identifier non-standar yang nilainya tidak tetap atau nilainya merupakan hasil dari suatu proses.


(variabel yang dimaksudkan disini sama seperti halnya arti variabel pada aljabar).


Bentuk umum deklarasinya adalah :




  1. Jika hanya 1 (satu) variabel yang dideklarasikan :


VAR identifier : jenis data;




  1. Jika lebih dari 1 (satu) variabel dan masing-masing memiliki jenis data yang sama :


VAR id-1, id-2, …., id-3 : jenis data;




  1. Jika beberapa variabel yang berbeda jenis datanya :


VAR         identifier-1 : jenis data;


                  identifier-2 : jenis data;


                              .


                              .


                              .


                  identifier-n : jenis data;




  1. Jika variabel yang dideklarasikan berjenis data non-standar :


TYPE id = (data_item_1,data_item_2,…,data_item_n);


VAR id-v : id;


SUB-RANGE :


TYPE  id = data_item_pertama .. data_item_terakhir;


VAR    id-v : id;


Contoh :




  1. VAR   x          : integer;

  2. VAR   p,q,r     : real;

  3. VAR   a,b       : char;


m,n      : boolean;




  1. TYPE warna = (merah,hitam,biru,putih,kuning);


      VAR   x1,x2   : warna;




  1. TYPE tahun = 1900 .. 1993;


      VAR thn-1,thn-2,thn-3 : tahun;


Ekspresi.


Sebuah ekspresi merupakan kumpulan dari  operand-operand (seperti : bilangan, konstanta, variabel dll) yang bersama-sama dengan operator membentuk suatu bentuk aljabar dan menyatakan suatu nilai.


Ada 2 (dua) jenis ekspresi dalam bahasa Pascal, yaitu :




  1. Ekspresi numerik / aritmatika, yaitu suatu ekspresi yang menghasilkan nilai numerik / aritmatika.

  2. Ekspresi Boolean atau ekspresi logika, yaitu suatu ekspresi yang menghasilkan nilai boolean / logika (true/false).


Contoh :




  1. (b * b – 4 * a * c) / (2*a)  / (2 * a)  Þ  ekspresi numerik, jika a,b dan c adalah bilangan (variabel bernilai numerik).

  2. Upah < 1000.0  Þ  ekspresi boolean (“upah” adalah suatu variabel bernilai real).


Input dan output (Standar I/O).


Dalam bahasa Pascal untuk keperluan input (membaca input) digunakan identifier standar READ atau READLN.


Identifier standar ReadLn sedikit berbeda dengan Read. ReadLn digunakan untuk memasukkan data perbaris, artinya setelah tombol Enter ditekan, maka akan ganti baris, sedangkan Read tidak ganti baris, masih dalam baris yang sama.


Sedangkan untuk keperluan output (mencetak output) digunakan identifier standar WRITE atau WRITLN.


Perbedaan Write dengan WriteLn adalah bahwa Write menampilkan hasil tanpa ganti baris dan tampilan berikutnya akan disambung dalam baris yang sama. Sedang WriteLn digunakan untuk menampilkan tampilan perbaris, akan ganti baris untuk tampilan berikutnya.


Bentuk umum penulisannya :




  1. READ (variabel input) ;


Atau


READLN (variabel output);




  1. WRITE (variabel output);


WRITELN (variabel output);


Contoh :


Var      nama : string{15};


Begin   nama := ‘Dewi’;


            write(‘nama : ‘);


            write(nama);


End.


Hasilnya :


                        Nama : Dewi


Contoh :


Var      nama : string{15};


Begin   nama := ‘Dewi”;


            WriteLn(‘Nama : ‘);


            WriteLn(Nama);


End.


Hasilnya :


                        Nama :


                        Dewi

0 komentar:

Posting Komentar