modul-2

35
 Modul Algoritma Pemrograman Modul Ke-2 - Hal 1 I. KATA PENGANTAR Dewasa ini sudah banyak berkembang bahasa-bahasa pemrograman tingkat tinggi yang pemakaiannya sudah sangat mudah, hanya klik dan drag saja. Namun meskipun demikian tetap saja programmer harus menuliskan kode-kode program agar objek-objek yang sudah mereka buat dapat bertingkah laku/bekerja sesuai dengan yang diinginkan. Secara singkat dapat dikatakan bahwa sebuah program pasti terdapat alur logika yang menyebabkan program tersebut dapat bekerja dengan benar. Modul algoritma dan pemrograman ini sangat penting bagi mahasiswa program studi Ilmu Komputer pada khususnya karena menjadi dasar bagi mahasiswa untuk mempelajari bahasa pemrograman. Pada modul ini diberikan contoh-contoh kasus untuk mempermudah memahami konsep. Karena sebuah contoh dapat memberikan inspirasi pemecahan masalah yang mirip. Tetapi patut diingat bahwa sebuah masalah di dalam pemrograman, bila diberikan kepada pemrogram yang berbeda, boleh jadi mempunyai aneka ragam solusi (dalam hal ini algoritma), mulai algoritma yang kusut karena banyak sekali percabangannya, sampai pada algoritma yang kurang efisien karena banyak sekali pengulangan instruksi yang sama dalam menganalisa kasus. Dengan mempelajari modul ini diharapkan nantinya Anda dapat memecahkan masalah secara metodologis, yaitu sesuai dengan skema (model) yang benar. Ketaatan menggunakan skema niscaya akan menghasilkan algoritma yang efisien dan mudah dipahami sehingga menghasilkan program yang baik pula. Sebagai akhir kata, semoga modul ini dapat diterima oleh para pembaca dalam mempelajari komputer, khususnya yang mempelajari mengenai bahasa penrograman Pascal serta dapat menambah wawasan bagi para pembaca dalam pembuatan program secara terstruktur. Yogyakarta, Desember 2007 Penulis

Upload: deden-istiawan

Post on 05-Oct-2015

10 views

Category:

Documents


0 download

DESCRIPTION

pascal

TRANSCRIPT

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 1

    I. KATA PENGANTAR

    Dewasa ini sudah banyak berkembang bahasa-bahasa pemrograman

    tingkat tinggi yang pemakaiannya sudah sangat mudah, hanya klik dan drag saja.

    Namun meskipun demikian tetap saja programmer harus menuliskan kode-kode

    program agar objek-objek yang sudah mereka buat dapat bertingkah laku/bekerja

    sesuai dengan yang diinginkan. Secara singkat dapat dikatakan bahwa sebuah

    program pasti terdapat alur logika yang menyebabkan program tersebut dapat

    bekerja dengan benar. Modul algoritma dan pemrograman ini sangat penting

    bagi mahasiswa program studi Ilmu Komputer pada khususnya karena menjadi

    dasar bagi mahasiswa untuk mempelajari bahasa pemrograman.

    Pada modul ini diberikan contoh-contoh kasus untuk mempermudah

    memahami konsep. Karena sebuah contoh dapat memberikan inspirasi

    pemecahan masalah yang mirip. Tetapi patut diingat bahwa sebuah masalah di

    dalam pemrograman, bila diberikan kepada pemrogram yang berbeda, boleh jadi

    mempunyai aneka ragam solusi (dalam hal ini algoritma), mulai algoritma yang

    kusut karena banyak sekali percabangannya, sampai pada algoritma yang

    kurang efisien karena banyak sekali pengulangan instruksi yang sama dalam

    menganalisa kasus. Dengan mempelajari modul ini diharapkan nantinya Anda

    dapat memecahkan masalah secara metodologis, yaitu sesuai dengan skema

    (model) yang benar. Ketaatan menggunakan skema niscaya akan menghasilkan

    algoritma yang efisien dan mudah dipahami sehingga menghasilkan program

    yang baik pula.

    Sebagai akhir kata, semoga modul ini dapat diterima oleh para pembaca

    dalam mempelajari komputer, khususnya yang mempelajari mengenai bahasa

    penrograman Pascal serta dapat menambah wawasan bagi para pembaca dalam

    pembuatan program secara terstruktur.

    Yogyakarta, Desember 2007

    Penulis

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 2

    II. PENDAHULUAN

    Pascal adalah suatu bahasa pemrograman terstruktur yang cukup

    terkenal sampai saat ini dan terus mengalami perkembangan. Pencipta bahasa

    Pascal adalah Niclaus Wirth (EidgenOssische Technishe Hoschule, Zurich,

    Swiss). Nama pascal sendiri diambil untuk mengenang dan mengabadikan

    seorang matematikawan Perancis bernama Blaise Pascal (1623-1662), penemu

    mesin penjumlah mekanis yang pertama kali.

    Bahasa Pascal lahir sebagai hasil pengembangan dari bahasa ALGOL-

    60. Versi pertama Pascal muncul pada tahuin 1970, dan laporan pertama

    mengenai bahasa ini baru dipublikasikan pada tahun 1971. Pada tahun 1974,

    buku berjudul Pascal User manuial dan Report dipublikasikan. Buku ini ditulis

    oleh Niklaus Wirth dan Kathleen Jensen. Kepopuleran Pascal berkembang

    seiring dengan berkembangnya PC. Pada platform ini terdapat sejumlah compiler

    Pascal. Salah satunya adalah Turbo Pascal, yang dikeluarkan oleh Borland

    International. Turbo Pascal telah mengalami pembaharuan semenjak versinya

    yang pertama. Tercatat pada tahun 1992, Turbo Pascal versi 7.0 telah dirilis.

    Yang menarik, Turbo Pascal bukan hanya sekedar compiler. Turbo Pascal

    menyediakan suatu lingkungan terpadu (dikenal dengan sebutan IDE, Integreted

    Development Environment), yang diantaranya berisi:

    Kompiler (untuk mengkompilasi program menjadi suatu objek yang dipahami

    computer)

    Debugger (untuk membantu mencari kesalahan program)

    Linker (Untuk menggabungkan file objek dan file pustakka serta membentuk

    file exutable)

    Editor (untuk menulis program sumber)

    Pada modul ini akan menjelaskan mengenai cara-cara penyusunan

    program menggunakan bahasa Pascal beserta pembuatan dan penulisan

    struktur data menggunakan tipe-tipe data yang ada pada bahasa Pascal.

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 3

    III. STRUKTUR PROGRAM PASCAL

    A.1. Tujuan Instruksional Umum

    Setelah mempelajari modul ini Anda diharapkan mampu menyelesaikan

    permasalahan dengan membangun algoritma dan mengimplementasikan

    dengan menggunakan struktur data sederhana

    2. Tujuan Instruksional Khusus

    Setelah menyelesaikan modul ini Anda diharapkan dapat : a. menjelaskan struktur dasar bahasa PASCAL minimal untuk

    membangun program yang sederhana.

    b. menyebutkan dan menjelaskan element-element pada bahasa

    PASCAL minimal 2 element dengan benar.

    c. Membedakan cara pendeklarasian type data yang ada dalam Pascal

    minimal 80 % benar.

    d. menyebutkan operator yang digunakan dalam bahasa Pascal minimal

    5 jenis operator dengan benar.

    B. URAIAN MATERI

    1) Mengenal Lingkungan Turbo Pascal Turbo Pascal memiliki menu batang pada bagian atas layer. Item-item dari

    menu ini berupa:

    File Berisi berbagai perintah untuk operasi yang berhubungan dengan file,

    seperti:

    - membuat program baru,

    - menyimpan file,

    - mencetak program ke printer,

    - memuat program ke editor,

    - mengubah direktori kerja,

    - keluar ke DOS untuk sementara,

    - keluar dari Turbo Pascal

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 4

    Edit Berisi berbagai perintah yang berhubungan dengan operasi penyuntingan

    program, sperti:

    - menyalin dan membuang teks

    - melihat isi clipboard.

    Search Diantaranya berguna untuk mencari dan mengganti teks

    Run

    Diantaranya untuk:

    - menjalankan/mengeksekusi program,

    - mengatur eksekusi perintah per langkah

    - mengisikan parameter baris perintah.

    Compile Diantaranya untuk:

    - mengkompilasi program ke disk atau ke memori

    - mengkompilasi secara cerdas terhadap program yang multifile

    - menampilkan informasi mengenai program, memori dan EMS.

    Debug Untuk melakukan debugging (pencarian kesalahan).

    Tools Diantaranya untuk menampilkan jendela pesan kesalahan

    Options Untuk mengatur berbagai pilihan untuk:

    - Debugger

    - Linker

    Cara menggunakan menu ditunjukkan pada tabel 1.

    Tabel 1. Cara menggunakan menu dalam turbo Pascal

    Tindakan Dengan Mouse Dengan Keyboard

    Menampilkan sebuah

    menu

    Gerakan penunjuk mouse ke

    nama menu dan kemudian

    klik tombol.

    Tekan tombol dan

    tekan huruf kunci dari

    menu yang dikehendaki

    Menuliskan perintah Gerakkan pnunjuk mouse ke

    suatu perintah dalam menu.

    Klik tombol kiri

    Tekan tombol yang

    menjadi kunci dari

    perintah

    Membatalkan perintah Klik diluar menu Tekan

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 5

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 6

    Menulis Program Anda dapat memulai untuk membuat program dengan mengikuti langkah

    sebagai berikut:

    (1) Pilih menu File (Alt+F), (2) Pilih New

    Sebagai contoh, Anda dapat menulis program berikut ini:

    PROGRAM Lat1

    BEGIN

    WriteLn(Selamat Belajar Turbo Pascal);

    END.

    Tombol Enter perlu ditekan untuk pindah dari baris akhir ke baris baru.

    Menyimpan Program Program yang telah dibuat atau dimodifikasi sebaiknya disimpan ke disk

    sebelum dijalankan. Langkah ini perludilakuakan agar program yang baru

    saja ditulis tidak hilang bila computer mendadak mati saat program

    dieksekusi atau karena sebab-sebab lain.

    Cara menyimpan program adalah sebagi berikut:

    (1) Pilih menu File (Alt+F), (2) Pilih Save

    Setelah jendela tersebut muncul, ketik nama file yang dikehendaki.

    Misalnya:

    Lat1 kemudian tekan Enter

    Menjalankan/mengeksekusi Program Utuk menjalankan program yang telah berda pada editor, lakukan langkah

    berikut:

    (1) Pilih menu Run (Alt+R), (2) Pilih Run

    Langkah ini akan menyebabkan:

    Program akan dikompilasi terlebih dulu (kecuali kalau pernah

    dikompilasi dan tidak ada perubahan lagi).

    Sekiranya tak ada kesalahan sintaks pada program, program akan

    segera dijalankan.

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 7

    Menutup Program Program yang sedang berada pada editor sekarang dapat di tutup dengan

    cara sebagai berikut:

    (1) Tekan Alt+W (menu Window), (2) Pilih Close.

    Membuka File Program Program yang tersimpan di dalam disk dapat dipanggil dan diletakkan ke

    editor dengan cara sebagai berikut:

    (1) Tekan Alt+F (menu File), (2) Pilihlah Open

    Keluar dari Turbo Pascal Jika Anda bermaksud keluar dari Turbo Pascal dan kembali ke Sistem

    Operasi, langkah yang diperlukan adalah sebagai berikut:

    (1) Tekan ALT+F (menu File), (2) Pilihlah Exit.

    Meminta Bantuan dari Turbo Pascal Anda dapat memilih menu Help untuk keperluan ini. Cara yang lain, Anda dapat meletakkan kursor pada suatu kata (misalnya WriteLn dan menekan

    tombol Ctrl+F1 sehingga dokumentasi dari kata tersebut akan segera

    ditampilkan).

    2. Bentuk Umum Struktur Program Pascal

    Penyusunan program bahasa PASCAL disusun perintah demi perintah,

    dengan perintah yang teratas akan dikerjakan terlebih dahulu. Sehingga apabila

    terjadi kesalahan atau error pada program, maka pendeteksian dapat ditelusur

    pada no baris yang terjadi kesalahan (biasanya ditunjukkan oleh posisi kusor)

    atau pada baris sebelumnya.

    Secara umum, bahasa pemrograman yang berbasiskan prosedur terdiri

    dari blok/sub program, yang memiliki tiga bagian utama yaitu:

    1. Kepala Program

    2. Bagian deklarasi

    3. Bagian Statement

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 8

    Demikian halnya dengan bahasa pemrograman Pascal yang merupakan salah

    satu dari bahasa procedural. Bentuk program Pascal mirip dengan kebanyakan

    program bahasa tingkat tinggi lainnya. Bentuk umumnya adalah :

    1. JUDUL PROGRAM

    2. BLOK PROGRAM

    a. Bagian deklarasi (Tidak selalu digunakan semua, bisa satu bisa

    sebagian saja deklarasi yang digunakan)

    - deklarasi label

    - deklarasi konstanta

    - deklarasi type

    - deklarasi variabel

    - deklarasi subroutine (deklarasi prosedur /deklarasi fungsi)

    b. Bagian pernyataan / statemen

    2.1. Judul Program

    Judul Program sifatnya sebagai dokumentasi saja atau bersifat opsional. Anda

    dapat membuang baris ini tanpa mengubah hasil program. Kegunaannya adalah

    sebagai identitas program dan dikenal sebagai kepala program. Sekalipun

    bersifat opsional, sebuah program dianjurkan agar diawali dengan baris

    semacam ini.,

    Bentuk umumnya sbb :

    Program [nama program] (daftar pengenal)

    Contoh :

    Program pengenal;

    Keterangan : Program adalah kata cadangan Pengenal adalah nama program

    2.2. Bagian Deklarasi

    Bagian deklarasi merupakan bagian program untuk mendefinisikan tipe

    data suatu variable, konstanta, serta fungsi dan prosedur yang akan digunakan

    pada program. Selain itu, bagian deklarasi dapat juga digunakan untuk memberi

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 9

    nilai awal suatu variable. Dengan kata lain, deklarasi digunakan untuk

    memperkenalkan suatu nama kepada Compiler program.

    Bagian deklarasi diatas tentu saja belum tentu ada didalam program.

    Malahan, sebuah program dapat saja tidak melibatkan bagian deklarasi sama

    sekali. Urutan bagian-bagian yang ada pada bagian deklarasi dapat dibolak-balik.

    Yang penting, sebelum menggunakan sesuatu tersebut harus ada terlebih dulu

    (sudah dideklarasikan).

    1). Deklarasi Label Adalah menyatakan lokasi tempat pernyataan yang dituju oleh sebuah

    pernyataan GOTO dalam program

    Sintaks : Label daftar_label;

    2). Deklarasi Konstanta Jika dalam membuat suatu program Anda sering menggunakan bilangan

    numeric atau string yang sama berkali-kali, maka sebaiknya bilangan atau

    kalimat tersebut dideklarasikan sebagai suatu konstanta.

    Untuk mendeklarasikan konstanta harus diawali dengan kata baku const. Dengan mendefinisikan const maka variabel tersebut tidak dapat diubah

    nilainya dalam program utama.

    Bentuk umumnya :

    CONST pengenal1 = nilai1;

    Pengenal2 = nilai2;

    Contoh :

    CONST Keterangan = Data panjang sisi miring segitiga siku-siku; Sisi_siku_1 = 20;

    Sisi_siku_2 = 10.5;

    Konstanta yg disediakan pascal a.l:

    - pi = 3.1415926536

    - false = bernilai logika salah

    - true = bernilai logika benar

    - maxint = 32767

    Konstanta juga dapat dideklarasikan dengan tipenya :

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 10

    Bentuk umumnya :

    CONST pengenal1 : Tipe1 = nilaiKonstanta1;

    Pengenal2 : Tipe2 = nilaiKonstanta2;

    Contoh :

    CONST BanyakData : byte = 250; Jumlah : integer = 20;

    3). Deklarasi Variabel Variabel adalah identifier yg berisi data yang dapat berubah-ubah nilainya

    didalam program. Variabel harus dideklarasikan lebih dulu dengan tujuan

    untuk memesankan tempat di dalam memori sesuai dengan tipe data yg

    digunakan.

    Sintaks :

    Var Daftar_variabel : tipe data; Contoh :

    Var i, i2 : integer; s : string;

    Penjelasan:

    Untuk mendeklarasikan variable pada Pascal, digunakan reserved word

    var, kemudian diikuti dengan nama variable (identifier) yang ingin digunakan, dan kemudian tipe data dari variable tersebut.

    Syarat penamaan variabel / pengenal :

    1. panjang karakter dari suatu variabel terdiri dari antara 1 sampai dengan

    40 karakter.

    2. pada pascal identifier tidak bersifat case sensitive (huruf besar dan kecil

    tidak dibedakan )

    3. kombinasi huruf dengan angka dengan posisi pertama harus huruf

    4. tidak boleh mengandung spasi, spasi dapat diganti dengan garis bawah

    5. tidak boleh menggunakan character khusus seperti (*, /, %,@ dsb).

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 11

    4). Deklarasi Type Digunakan untuk mendefinisikan nama tipe data baru yang berbeda dengan

    tipe data yang sudah disediakan oleh PASCAL.

    Sintaks : Type Pengenal_1 = tipe_1; . . pengenal_n = tipe_n;

    Dalam hal ini:

    Pengenal berupa suatu nama pengenal yang didefinisikan sendiri

    Tipe dapat berupa sembarang tipe data

    Pembuatan tipe baru bisa dilakukan untuk tipe data terstruktur seperti record

    atau array. Tipe yang dideklarasikan pada TYPE ini dapat dipakai

    untukmendeklarasikan variable (ataupun argument dari suatu subprogram).

    Contoh :

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 12

    5). Deklarasi Subroutine Bagian deklarasi subroutine atau subprogram digunakan untuk

    mendeklarasikan subroutine (prosedur atau fungsi yang Anda buat sendiri).

    Sebagai contoh, Deklarasi seperti diatas akan dibahas secara khusus pada

    materi tentang Subroutine.

    2.3. Bagian Statement

    Statemen adalah perintah pengerjaan program. Kumpulan statemen

    membentuk program. Statemen berada dibagian deklarasi statemen dengan

    diawali kata cadangan begin dan end. Sintaks : begin

    daftar_statemen;

    end;

    Bagian ini diawali kata tercadang BEGIN, diikuti nol atau sejumlah

    pernyataan dan kemudian diakhiri dengan kata tercadang END dan tanda titik (.).

    dengan demikian statemen

    BEGIN END. Merupakan contoh program terpendek pada Turbo Pascal, mengingat:

    Bagian kepala program hanya bersifat opsional,

    Bagian deklarasi boleh tidak ada

    Peryataan di dalam bagaian pernyataan boleh tidak ada

    Tentu saja, program tersebut tidak akan menghasilkan apa-apa kalau dijalankan,

    karena memang tidak ada tindakan yang menyuruh computer untuk melakukan

    sesuatu.

    Bagian pernyataan sering disebut program utama (main program). Bgaian

    inilah yang menjadi titik awal pengeksekusian program.

    Ketentuan penulisan statemen

    1. Diakhiri dengan titik koma jika blok statement bukan blok utama program,

    sedangkan apabila blok statement adalah blok utama program, maka

    reserved word end harus diakhiri dengan tanda titik(.) 2. Huruf besar atau huruf kecil tidak dibedakan

    3. Dalam satu baris boleh lebih dari satu statemen.

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 13

    4. Satu statemen boleh terdiri dari beberapa baris

    5. Konstanta tidak boleh dipecah dalam beberapa baris

    Statemen terdiri dari :

    1. Statemen pengerjaan

    Digunakan utk memasukkan suatu nilai tertentu ke dalam suatu variabel.

    Sintaks : pengenal_variabel := ungkapan; Contoh :

    2. Statemen prosedur

    Digunakan utk mengaktifkan suatu prosedur yg telah didefinisikan pemakai

    atau oleh Pascal

    Contoh :

    3. Statemen Lompatan

    statement yang digunakan untuk melompati statement-statement lain. Yang

    termasuk dalam kategori statement ini yaitu:

    4. Statemen kosong

    statemen yg tidak berisi symbol apapun

    contoh : begin end;

    3. Elemen-elemen Dalam Bahasa Pemrograman Pascal

    Ketika kita mempelajari suatu bahasa pemrograman, kita akan

    menjumpai elemen-elemen yang pada dasarnya serupa antara satu bahasa

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 14

    dengan bahasa yang lain. Hal itu dikarenakan elemen-elemen tersebut

    merupakan bagian dari tata bahasa pemrograman yang bersangkutan. Berikut

    adalah element-element pada bahasa pemrograman Pascal

    1. Tipe data

    2. Aturan Leksikal

    3. Expression

    1). Tipe Data

    Pascal telah menyediakan beberapa tipe data yang sudah siap dipakai.

    Pada saat mendeklarasaikan sebuah variabel secara otomatis harus

    mendeklarasikan tipe data yang dapat ditampung oleh variabel tersebut.

    Tipe data dalam Pascal dibagi menjadi 3 bagian

    A. Tipe Data sederhana Tipe data sederhana merupakan tipe data yang paling kecil, yang hanya

    melibatkan satu item data, misalnya tipe data integer, string, real, Boolean,

    dan sebagainya. Kita dapat juga mendefinisikan sendiri tipe data ini. Tipe

    data yang didefinisikan sendiri tersebut diistilahkan enumerated data type

    a. Tipe bilangan bulat Tipe data ini digunakan untuk menyimpan bilangan bulat. Macam-

    macam tipe bilangan bulat dalam Pascal adalah sbb :

    Tipe Jangkauan Ukuran Shortint Integer Longint Byte word

    -128 127 -32768 32767 -2147483648 2147483647 0 255 0 65535

    8 bit 16 bit 32 bit 8 bit 16 bit

    Untuk memberi nilai pada tipe bilangan bulat dapat menggunakan basis

    decimal maupun heksadesimal yang ditandai dengan tanda $

    Contoh :

    Var x, y : integer; begin x := 16; { dengan decimal } y := $0A; { dengan hexadecimal }

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 15

    b. Tipe Boolean Tipe data ini hanya dapat bernilai benar dan salah. Tipe Boolean

    ukurannya 1 byte. Contoh :

    c. Tipe Karakter Tipe data ini digunakan untuk menyimpan data alfanumeris seperti A,

    Z, @, dsb.. Tipe data char ukurannya 1 byte. Contoh :

    d. Tipe Subajangkauan Tipe data ini memungkinkan Anda mendeklarasikan tipe yang berada

    pada jangkauan tertentu. Tipe ini hamper sama dengan tipe bilangan

    bulat, bedanya Anda bebas menentukan jangkauan dari tipe ini. Contoh :

    e. Tipe Terbilang Tipe data ini memungkinkan Anda memberi nama pada beberapa nilai

    tertentu.

    Var B1 : boolean; begin b1 := true; b1 := false;

    Var ch : char; begin ch := A; ch := #65 { sama artinya dengan ch := A} ch := chr(65); { sama artinya dengan ch := A}

    Type Bulan = 1 .. 12; Var Januari : Bulan; begin Januari := 1;

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 16

    Contoh :

    f. Tipe Real

    Tipe data ini digunakan untuk menyimpan bilangan real. Macam-

    macamnya sebagai berikut :

    Tipe Jangkauan Digit penting Ukuran Real Single Double Extended comp

    2.9*10-39 1.7*1038 1.5*10-45 3.4*1038 5.0*10-324 1.7*10308 3.4*10-4932 1.1*104932 -263+1 263 - 1

    11 12 7 8

    15 16 19 20 19 - 20

    6 byte 4 byte 8 byte

    10 byte 8 byte

    Contoh :

    g. Tipe string

    Tipe data ini digunakan untuk menyimpan data yang berupa untaian

    karakter.

    Contoh :

    Var

    kalimat : string;

    begin

    kalimat := ISTA;

    Type TipeHari = (Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu); Var hari : TipeHari; begin hari := Minggu; hari := Senin;

    Var x, y : real; begin x := 123.45; {menuliskan nilai dengan tanda titik} y := 1.2345E+2 { menuliskan nilai dengan eksponen}

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 17

    String adalah suatu jenis variabel yang tidak dapat di operasikan

    dengan operator matematika. String lebih banyak menyebut sebagai

    variabel yang berupa teks. Suatu variabel string tidak harus berisi suatu

    teks (rangkaian karakter/huruf) tetapi bisa juga berisi suatu angka.

    Contoh :

    B. Tipe Data terstruktur

    Tipe data terstruktur merupakan tipe data yang menampung beberapa

    item data. Bentuk dari tipe data ini dapat berupa array (terdiri dari item-item

    yang memiliki tipe data yang sama) ataupun record (terdiri dari item-item

    yang boleh memiliki tipe data yang berbeda).

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 18

    a. Type Larik (Array) Yang dimaksud array yaitu tipe data berindeks yang terdiri dari satu

    atau lebih

    elemen/komponen yang memiliki tipe data yang sama.

    Sintaks :

    Var nama_larik : array [batas_bawah batas_atas] of type_larik;

    Contoh :

    b. Tipe Rekaman

    Tipe data ini digunakan untuk merepresentasikan kumpulan (set)

    elemen/komponen yang memiliki satu jenis atau lebih tipe data. Tiap

    element disebut juga field atau property atau attribute

    Contoh :

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 19

    c. Tipe Himpunan Tipe ini digunakan untuk menyimpan kumpulan nilai yang bertipe sama.

    Sintak :

    Type Nama_himpunan = set of tipeData

    Contoh : Type Karakter = set of char;

    C. Tipe Data Pointer Tipe data pointer digunakan untuk menunjuk pada alamat memory suatu

    data yang lain. Jadi tipe data pointer pada dasarnya tidak menyimpan nilai

    data secara langsung,melainkan hanya menyimpan alamat dimana data

    berada.

    Pendeklarasian pointer hampir sama dengan pendeklarasian variabel

    biasa, bedanya Anda harus menambahkan tanda ^ di depan tipe pointer.

    Contoh :

    2). Aturan Leksikal

    Yang dimaksud aturan leksikal yaitu aturan yang digunakan dalam

    membentuk suatu deklarasi, definisi, maupun statement hingga menjadi satu

    program yang utuh. Aturan ini meliputi beberapa element antara lain:

    a. Token

    b. Komentar

    c. Identifier

    d. Keywords (Reserved Words)

    e. Operator

    A. Token

    Token yaitu element terkecil pada bahasa pemrograman yang memiliki arti

    penting bagi compiler. Yang termasuk token antara lain: identifier,

    keywords(reserved words), operator, dan sebagainya.

    Var P1 : ^integer; P2 : ^char;

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 20

    Token yang satu dengan yang lain dipisahkan dengan satu atau lebih spasi,

    tab, baris baru, atau komentar.

    B. Komentar Komentar yaitu teks (kumpulan karakter) yang diabaikan oleh Compiler.

    Komentar sangat berguna untuk memberi catatan mengenai bagian program

    tertentu sebagai referensi baik bagi programmer itu sendiri maupun orang

    lain yang membaca kode program tersebut.

    Pada bahasa Pascal, teks yang berada di antara kurung kurawal pembuka

    {dan kurung kurawal tutup } akan dianggap sebagai komentar. Selain itu,

    dapat pula menggunakan tanda (* sebagai pembuka komentar, dan tanda *)

    sebagai penutup. Contoh:

    C. Identifier Identifier merupakan kumpulan karakter yang digunakan sebagai penanda

    untuk nama variable, nama tipe data, fungsi, prosedur, dan sebagainya.

    Aturan penulisan identifier pada bahasa Pascal Yaitu: suatu identifier harus

    diawali oleh karakter non angka sebagai berikut:

    tersebut di atas, namun tidak boleh menggunakan karakter khusus/spesial

    seperti + - * / ? ! { } [ ] dan sebagainya. Berikut adalah contoh-contoh

    identifier yang benar maupun salah.

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 21

    Tetapi sebagai catatan yang perlu diingat, identifier pada bahasa Pascal

    bersifat case insensitive (huruf besar dan huruf kecil dianggap sama).

    Sebagai contoh, identifier No_Telpon dan no_telpon pada bahasa Pascal dianggap sama.

    D. Keywords (Reserved Words) Keywords atau Reserved words merupakan kata-kata yang telah

    ada/didefinisikan oleh bahasa pemrograman yang bersangkutan. Kata-kata

    tersebut telah memiliki definisi yang sudah tetap dan tidak dapat diubah.

    Karena telah memiliki definisi tertentu, maka kata-kata ini tidak dapat

    digunakan sebagai identifier.

    Pada bahasa Pascal, yang termasuk reserved words antara lain:

    E. Operator Operator digunakan untuk menyatakan suatu perhitungan/operasi. Operator

    yang digunakan untuk operasi yang melibatkan satu operand disebut unary

    operator. Jika melibatkan dua operand maka disebut binary operator, dan

    jika melibatkan tiga operand, operator tersebut disebut ternary operator.

    Di dalam suatu operasi dapat terdapat banyak operator. Urutan eksekusi dari

    operator-operator disebut juga operator precedence. Precedence yang lebih

    rendah akan dieksekusi belakangan, misalnya:

    A = 10 + 5 * 2

    Karena precedence operator * lebih tinggi daripada operator + maka nilai A

    adalah 20, diperoleh dari perkalian 5 dan 2, kemudian dijumlahkan dengan

    10. Untuk mendahulukan eksekusi precedence yang lebih rendah dapat

    digunakan tanda ( dan ) sebagai contoh:

    A = (10 + 5) * 2

    Variable A akan memiliki nilai 30, diperoleh dari penjumlahan 10 dan 5,

    kemudian dikalikan 2.

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 22

    Operator dapat dikategorikan menjadi beberapa jenis antara lain:

    1. Assignment Operator

    2. Arithmetic Operator

    3. Bitwise dan Logical Operator

    4. Relational Operator

    5. Pointer Operator

    Berikut akan dibahas lima kelompok operator tersebut di atas. Sebagai

    catatan, masih terdapat operator-operator yang belum tercakup pada

    kelompok tersebut di atas. Yang dibahas di sini hanya bagian-bagian yang

    sangat umum.

    a. Assignment Operator Operator ini digunakan untuk memberi nilai suatu identifier. Pada

    bahasa Pascal, digunakan tanda titik dua dan tanda sama dengan := untuk memberi nilai pada variable. Contoh:

    C := A + B;

    atau C := 4;

    b. Arithmetic Operator Yang termasuk di dalam operator arithmetic yaitu operator yang

    digunakan untuk melakukan operasi aritmatika, seperti:

    Operator-operator yang disebut di atas termasuk binary operator karena

    melibatkan dua operand. Terdapat pula operator unary, yaitu tanda dan

    + yang digunakan sebagai penanda bilangan negative atau positif.

    Contoh :

    X := y + z;

    X := a b c d;

    X := 5 * 9 * 3.14;

    X:= a / b;

    X := a + b c * d;

    X := 10 div 2;

    X := I mod j;

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 23

    Yang perlu Anda perhatikan disini adalah bahwa Pascal mengenal dua

    macam pembagian.

    Yang pertama pembagian dengan operator /. Pembagian ini

    selalu menghasilkan bilangan real / pecahan.

    Yang kedua adalah pembagian dengan operator DIV.

    Pembagian ini sellu menghasilkan bilangan bulat dan

    operannya juga selalu bilangan bulat.

    c. Bitwise dan Logical Operator Operator ini digunakan untuk melakukan operasi bit dan logika. Operasi

    ini hanya dapat dikenakan pada operan bertipe bilangan bulat dan hasil

    operasinya juga selalu bilangan bulat. Yang termasuk di dalam operator

    ini antara lain:

    Operator Operasi

    Not Invers

    And Logika and

    Or Logika or

    Xor Logika xor

    Shl Penggeseran bit ke kiri

    shr Penggeseran bit ke kanan

    Operator Not

    Operator ini digunakan untuk membalik nilai logika dari operand

    Boolean. Selain itu juga memungkinkan operator NOT digunakan

    pada operand numeric integer, yang akan mengakibatkan pembalikan

    bitwise.

    Contoh :

    Begin

    Writeln(not true);

    Writeln(not false);

    Writeln(not 0);

    Writeln(not 5);

    End.

    Hasil Run : False True -1 -6

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 24

    Keterangan : o Nilai dari Not 1 adalah -1, disebabkan karena nilai 0 tersebut

    akan tersimpan di memori dengan bentuk bilangan binary.

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    o Operator not akan membalik nilai bit (bitwise),yang bernilai 1 menjadi 0 dan sebaliknya, sehingga Not 0 akan menjadi

    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

    sign bit

    o Bit yang paling kanan menunjukkan sign bit, yaitu menunjukkan tanda positif (bila bilangannya nol) dan negative (bila

    bilangannya 1). Pad kasus diatas karena tandanya satu maka

    menunjukkan bilai negative. Pada Pascal menggunakan cara

    komplemen dua, yaitu bila nilainya negative diartikan dengan

    cara mengurangi nilai biner tersebut dengan satu kemudian nilai

    bit dibalik.

    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

    1

    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0

    dibalik nilai bit menjadi

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 = 1

    dan sign bit sebelumnya menunjukkan nilai negative, berarti

    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 = -1

    o Jadi (not 0) nilainya menjadi -1

    Operator AND

    Operator ini digunakan untuk mengevaluasi masing-masing bit pada

    operan-operannya. Untuk operand AND, jika bit dari kedua operan

    bernilai 1 maka bit hasiloperasinya juga bernilai 1, jika tidak bit hasil

    bernilai 0.

    Contoh :

    Begin

    Writeln(12 and 23);

    End.

    Hasil Run : 4

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 25

    Keterangan : o Operator arithmetic AND bekerja dengan membandingkan bit

    demi bit dari lemen-elemen yang dibandingkan sebagai berikut :

    12 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0

    23 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1

    12 AND 23 bernilai : 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 = 4

    o Jadi (12 AND 23) nilainya menjadi 4

    Operator OR

    Operator ini digunakan untuk mengevaluasi masing-masing bit pada

    operan-operannya. Untuk operand OR, jika bit dari kedua operan

    bernilai 0 maka bit hasil operasinya juga bernilai 0, jika tidak bit hasil

    bernilai 1.

    Contoh :

    Keterangan : o Operator arithmetic OR bekerja sama dengan operator AND 12 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0

    23 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1

    12 OR 23 bernilai : 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 = 31

    o Jadi (12 OR 23) nilainya menjadi 31

    Operator XOR

    Operator ini digunakan untuk mengevaluasi masing-masing bit pada

    operan-operannya. Untuk operand XOR, jika bit dari kedua operan

    bernilai 0 atau 1 maka bit hasil operasinya bernilai 0, jika tidak bit hasil

    bernilai 1.

    Contoh :

    Begin

    Writeln(12 OR 23);

    End.

    Hasil Run : 31

    Begin

    Writeln(12 XOR 23);

    End.

    Hasil Run : 27

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 26

    Keterangan : o Operator arithmetic XOR bekerja dengan membandingkan bit

    demi bit dari lemen-elemen yang dibandingkan sebagai berikut :

    12 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0

    23 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1

    12 XOR 23 bernilai : 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 = 27

    o Jadi (12 XOR 23) nilainya menjadi 27

    Operator SHL

    Operator ini digunakan untuk menggeser (shift) sejumlah bit ke kiri

    (left) dengan nilai bit 0

    Contoh :

    Keterangan : o Bit dari lemen-elemen yang akan digeser sebagai berikut : 12 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0

    digeser 5 bit kekiri : 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 = 384

    Operator SHR

    Operator ini digunakan untuk menggeser (shift) sejumlah bit ke kanan

    (right)

    Contoh :

    Keterangan : o Bit dari lemen-elemen yang akan digeser sebagai berikut : 12 nilai binarynya : 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0

    digeser 5 bit kekiri : 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 = 5

    d. Relational Operator Operator relasional digunakan untuk membandingkan nilai dua operand.

    Sebagai catatan, operand yang dibandingkan harus memiliki tipe data

    Begin

    Writeln(12 OR 5);

    End.

    Hasil Run : 384

    Begin

    Writeln(160 SHR 5);

    End.

    Hasil Run : 5

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 27

    yang sama, kecuali untuk bilangan bulat (bertipe integer) dan bilangan

    pecahan (bertipe real atau float). Yang termasuk operator relasional yaitu:

    Operator Operasi Tipe Operan

    = Sama dengan Tipe sederhana, pointer himpunan, string

    Tidak sama dengan Tipe sederhana, pointer himpunan, string

    < Kurang dari Tipe sederhana, string > Lebih dari Tipe sederhana, string = Lebih dari atau sama dengan Tipe sederhana, string = Superset dari Tipe himpunan

    Contoh :

    e. Pointer Operator Operator pointer digunakan untuk melakukan operasi pada operand yang

    berupa pointer. Pada bahasa Pascal, digunakan tanda ^ sebagai deference pointer seperti dijelaskn pada deklarasi pointer pada

    pembahasan sebelumnya.

    3) Expression Yang dimaksud dengan expression (ekspresi) yaitu suatu pernyataan

    yang menghasilkan suatu nilai. Expression tersusun dari operator dan operand

    Const

    A = 5;

    B = 3;

    Begin

    Writeln(a=b);

    Writeln(a=5);

    Writeln(ab);

    Writeln(a>b);

    Writeln(a>=b);

    Writeln(a

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 28

    yang digunakan untuk menghitung atau memberi suatu nilai suatu variable atau

    identifier.

    Expression yang paling sederhana yaitu nama variable. Expression yang lebih

    kompleks akan melibatkan operator-operator, maupun pemanggilan function atau

    procedure. Berikut adalah contoh expression:

    C. EVALUASI FORMATIF

    1 ). Sebutkan struktur dari bahasa pemrograman PASCAL !

    2 ). Sebutkan 4 jenis statemen yang ada dalam bahasa Pascal

    3 ). Sebutkan 5 element yang termasuk aturan leksikal pada bahasa Pascal

    4 ). Sebutkan minimal 5 jenis operator yang digunakan pada bahasa Pascal

    5 ). Diasumsikan A, B, dan C adalah variabel Boolean dan nilai A dan B adalah

    true, sedangkan C adalah False. Evaluasi setiap ekspresi berikut ini :

    a. A and C

    b. A or B and C

    c. A and B or C

    d. A xor B and C

    e. A or (not B)

    f. Not (A or B xor C)

    6 ). Jika diketahui x adalah variabel bertipe integer, dari nilai-nilai berikut,

    manakah yang dapat diberikan pada x ?

    a. $a d. -$FF

    b. 10.1 e. $AAAA

    c. 40000 f. 0010

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 29

    IV. STATEMENT INPUT DAN OUTPUT

    A.1. Tujuan Instruksional Umum

    Setelah mempelajari modul ini Anda diharapkan mampu menyusun program sederhana menggunakan statemen input dan output untuk

    memecahkan masalah.

    2. Tujuan Instruksional Khusus

    Setelah menyelesaikan modul ini Anda diharapkan dapat : a. membedakan penggunaan perintah READ dan READLN untuk

    menyusun program dalam bahasa PASCAL dalam waktu maksimal

    10 menit..

    b. membedakan penggunaan perintah WRITE dan WRITELN untuk

    menyusun program dalam bahasa PASCAL dalam waktu maksimal

    10 menit

    B. URAIAN MATERI

    1. Perintah Output

    Untuk mencetak hasil pengolahan data (keluaran), Pascal mempunyai

    dua statemen yaitu write dan writeln. Dengan adanya kedua perintah ini tentunya

    ada interaksi antara manusia/pemakai dengan program yang dijalankannya.

    Kedua statemen ini dapat berisi sembarang argumen.

    Bentuk Umum statemen output adalah :

    Write(); atau

    Writeln (); Perbedaan antara write dan writeln adalah :

    Write akan menampilkan hasil ke layar tanpa disertai ganti baris sehingga tampilan berikutnya akan terletak pada baris yang sama.

    Writeln akan menampilkan hasil ke layar dengan disertai pergantian baris sehingga tampilan berikutnya akan terletak pada baris berikutnya.

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 30

    Jika Anda akan menampilkan string (kalimat, kata, karakter ataupun

    symbol) tertentu maka harus diikuti dengan tanda kutip tunggal ( ) dan diakhiri dengan tanda kutip tunggal juga.

    Contoh :

    Hasil Tampilannya adalah :

    Jika yang akan ditampilkan adalah isi dari variabel atau konstanta, maka

    Anda tidak perlu menuliskan kutip tunggal pada awal dan akhirvariabel atau

    konstanta tersebut. Anda cukup menuliskan nama variabel atau konstanta

    tersebut yang diapit tanda kurung dan diakhiri dengan titik koma.

    Contoh :

    2. Format Angka

    format angka digunakan untuk mengatur hasil tampilan sebuah variabel

    integer ataupun real. Sebagai contoh

    Program satu; Begin

    Write ( SELAMAT ); Writeln( BELAJAR PEMROGRAMAN KOMPUTER ); Writeln( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ); Write( di Lab Kom III Jl I Dewa Nyoman Oka ); Write(32);

    End.

    Yang akan ditampilkan ke layar sebuah kalimat

    Yang akan ditampilkan ke layar sebuah simbol

    Yang akan ditampilkan ke layar sebuah bilangan numerik

    Program satu; Const A = 5; JumlahSiswa = 10; Begin

    Write ( A ); Writeln( JumlahSiswa );

    End.

    SELAMATBELAJAR PEMROGRAMAN KOMPUTER ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ di Lab Kom III Jl I Dewa Nyoman Oka 32

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 31

    Tampilan hasil variabel b ternyata ditampilkan dalam bentuk eksponensial.

    Bagaimana kalau diinginkan tampilan hasilnya adalah 30.00. Untuk

    menampilkan maka Anda harus memformat tampilannya menggunakan aturan

    yang telah ditentukan oleh bahasa PASCAL.

    Format untuk variabel integer

    Bentuk Umum statemen output menggunakan format angka integer adalah :

    Write(:m); atau

    Writeln (:m);

    Keterangan :

    m : disini mempunyai arti bahwa isi variabel akan ditampilkan dalam

    bentuk m digit. Dalam hal ini akan menyebabkan isi variabel akan

    ditampilkan dalam bentuk rata kanan.

    Contoh :

    Hasil Run : ISI A = 100

    ISI B = 3.0000000000E+01

    Hasil Run : ISI A = 10

    ISI B = 100

    ISI C = 1000

    TAMPILAN TAMPAK RATA KANAN SEMUA

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 32

    Format untuk variabel real

    Bentuk Umum statemen output menggunakan format angka real adalah :

    Write(:m:n); atau

    Writeln (:m:n);

    Keterangan :

    m : disini mempunyai arti bahwa isi variabel akan ditampilkan dalam

    bentuk m digit dengan posisi (m n) untuk memisah decimal (titik)

    n : untuk menentukan banyaknya digit yang digunakan untuk angka

    dibelakang koma.

    Misalkan :

    o Writeln(ISI A = , A:5:1) Perintah A:5:1 mempunyai arti bahwa

    Tiga kotak digunakan untuk angka di depan titik kolom

    1,2,3

    Satu kotak digunakan untuk memisahkan decimal (titik)

    kolom 4

    Satu kotak digunakan untuk angka dibelakang titik kolom

    5

    o Writeln(ISI A = , A:7:3) Perintah A:7:3 mempunyai arti bahwa

    Tiga kotak digunakan untuk angka di depan titik kolom

    1,2,3

    Satu kotak digunakan untuk memisahkan decimal (titik)

    kolom 4

    Satu kotak digunakan untuk angka dibelakang titik kolom

    5,6,7

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 33

    Contoh :

    3. Perintah Input

    Untuk contoh pada bagian 4.2.1.1. semua proses masukan tidak

    melibatkan pemakai. Conoth program tersebut mempunyai nilai yang tetap.

    Sehingga apabila di run berulang kali maka hasil keluarannya akan tetap sama

    apabila dilakukan proses running satu kali. Untuk melibatkan pemakai, dalam hal

    ini pemakai dapat menginputkan data dari keyboard, maka pemakai dapat

    memanfaatkan statement READ dan READLN yang telah disiapkan oleh

    PASCAL.

    Bentuk umum : READ (variabel_penampung_data) atau READLN(variabel_penampung_data)

    Perbedaan antara READ dan READLN adalah bila memakai READ maka

    kelebihan data yang diinputkan tidak akan dibuang, sedangkan apabila

    menggunakan READLN kelebihan data yang diinputkan akan dibuang.

    Hasil Run : ISI A = 100

    ISI B = 30.0

    TAMPILAN ISI A RATA KIRI TAMPILAN ISI B RATA KANAN

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 34

    Contoh :

  • Modul Algoritma Pemrograman

    Modul Ke-2 - Hal 35

    BAHAN BACAAN

    Brassard, Gilles, and Bratley, Paul, 1996, Fundamentals of Algorithmics,

    Prentice Hall, Englewood Cliffs, New Jersey.

    Budiyanto, Alex, 2003, Pengantar Algoritma dan Pemrograman, www.Ilmu

    Komputer.com

    Jogiyanto H.M, 1995, Turbo Pascal versi 5.0, jilid 1, Andi Offset, Yogyakarta.

    Munir, Rinaldi, Ir, dan Lidya, Leoni, Ir., 1998, Algoritma dan Pemrograman I,

    Informatika, Bandung.

    Pranata, Antony, 2000, Algoritma dan Pemrograman, J & J Learning,

    Yogyakarta.