Modul Praktikum Algoritma

71
MODUL PRAKTIKUM ALGORITMA & PEMROGRAMAN Kode MTK : SCSS 1101 Oleh : Emy Setyaningsih, S.Si, M.Kom Dra. Nuniek Herawati, M.Kom LABORATORIUM KOMPUTER III INSTITUT SAINS & TEKNOLOGI AKPRIND YOGYAKARTA 2007

description

IST AKPRIND

Transcript of Modul Praktikum Algoritma

Page 1: Modul Praktikum Algoritma

MODUL PRAKTIKUM

ALGORITMA & PEMROGRAMAN

Kode MTK : SCSS 1101

Oleh :

Emy Setyaningsih, S.Si, M.Kom Dra. Nuniek Herawati, M.Kom

LABORATORIUM KOMPUTER III

INSTITUT SAINS & TEKNOLOGI AKPRIND

YOGYAKARTA

2007

Page 2: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - ii

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

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. Konsep yang

dijelaskan di sini tidak hanya dapat diimplementasikan dalam bahasa pemrograman

Pascal atau C saja, tetapi dapat juga diterapkan dengan menggunakan bahasa

pemrograman lainnya termasuk bahasa pemrograman aras tinggi yang lainnya. Modul

praktikum 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 praktikum 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

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

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

pembaca dalam mempelajari komputer, khususnya yang mempelajari mengenai konsep

algoritma dan pemrograman serta dapat menambah wawasan bagi para pembaca dalam

pembuatan program secara terstruktur.

Yogyakarta, Desember 2007

Penulis

Page 3: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - iii

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

DAFTAR ISI

Halaman Judul …………………………………………………………............... i

Kata Pengantar …………………………………………………………............. ii

Daftar Isi ………………………………………………………………................. iii

Tata Tertib Praktikum …………………………………………………............... iv

Petunjuk Menjalankan Program Pascal dan Turbo C++ ............................... 1

BAGIAN I. MENGGUNAKAN PEMROGRAMAN PASCAL Minggu pertama : Pengenalan Program Pascal....……………………..…….. 10

Minggu kedua : Penyeleksian Kondisi.…………………………………......... 19

Minggu ketiga : Perulangan (Looping).....……………………………………. 24

Minggu keempat : Type Data Terstruktur.............. ......………………………… 28

Minggu kelima : Subroutine …………………………................……………... 34

BAGIAN II. MENGGUNAKAN PEMROGRAMAN TURBO C++ Minggu keenam : Pengenalan Program C++ ………………………………… 42

Minggu ketujuh : Penyeleksian Kondisi ..……………………………………. 49

Minggu kedelapan: Perulangan Looping ........................................................ 55

Minggu kesembilan:Fungsi ............................................................................ 60

Page 4: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - iv

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

TATA TERTIB PRAKTIKUM

1. Praktikan hadir 5 menit sebelim jam praktikum dimulai. 2. Praktikan berpakaian sopan, dilarang memakai kaos oblong, topi atau sandal /

sepatu, merokok dan makan di dalam laboratorium. 3. Mengisi daftar hadir praktikum awal yang sudah disediakan ketika masuk

praktikum dan daftar hadir akhir di akhir praktikum sekaligus mengumpulkan tugas harian.

4. Menjaga kebersihan keyboard dan peralatan lain dalam laboratorium. 5. Setelah praktikum, matikan computer, stabilisator dan printer serta merapikan

kursi. 6. Di akhir praktikum wajib mengumpulkan tugas harian ke asisten. Tugas tidak

diterima jika dikumpulkan pada praktikum selanjutnya. 7. Untuk Tugas yang dikerjakan di rumah wajib di serahkan ke asisten maksimal

sebelum pelaksanaan praktikum pada minggu selanjutnya dalam bentuk format laporan resmi.

8. Bagi mahasiswa yang berhalangan hadir (sakit dengan keterangan dokter, kepentingan keluarga dengan keterangan wali atau dengan alasan kuat) dapat melaporkan diri lebih awal kepada asisten untuk minta penggantian hari pada minggu yang sama. Apabila tidak mengganti pada minggu tersebut dianggap tidak hadir dan tidak dapat dilakukan pada minggu berikutnya. Penggantian hanya dilakukan pada minggu inhal.

9. Pada akhir acara praktikum akan diadakan ujian akhir / Responsi (minggu 11). 10. Penilaian berdasarkan kehadiran, tugas harian, laporan, ujian akhir/responsi dan

keaktifan selama mengikuti praktikum. 11. Bagi yang melanggar tat tertib akan dikenakan sanksi.

Page 5: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 1

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

PETUNJUK MENJALANKAN PROGRAM PASCAL DAN TURBO C++

I. APLIKASI PROGRAM PASCAL FOR WINDOWS

1. Membuka aplikasi Turbo Pascal For Windows

Untuk membuka aplikasi Pascal For Windows (TPW 1.5) melalui menu Start seperti

terlihat pada Gambar dibawah ini.

Kemudian akan muncul tampilan awal TPW 1.5 seperti terlihat pada Gambar dibawah

ini.

Page 6: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 2

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

TPW 1.5 memiliki menu pada bagian atas layar (menu toolbar). Item-item dari menu

ini berupa:

File Berisi berbagai perintah untuk operasi yang berhubungan dengan file, seperti:

- membuat program baru,

- memanggil program yang pernah disimpan,

- menyimpan file ,

- mencetak program ke printer,

- melakukan pengaturan pada printer,

- keluar dari editor TPW

Edit Berisi berbagai perintah yang berhubungan dengan operasi penyuntingan

program, sperti:

- menyalin dan membuang teks.

- melakukan proses penghapusan.

- melakukan proses undo dan redo.

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.

Options Untuk mengatur berbagai pilihan untuk:

- Compiler

- Linker

- Directories

2. Menulis Program

Anda dapat memulai untuk membuat program dengan mengikuti langkah sebagai

berikut:

Page 7: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 3

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

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

3. Menyimpan Program Program yang telah dibuat atau dimodifikasi sebaiknya disimpan ke disk sebelum

dijalankan. Langkah ini perlu dilakukan 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

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

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

Page 8: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 4

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

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

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

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

II. APLIKASI PROGRAM TURBO C++

1. Membuka aplikasi Turbo C++

Cari dimana posisi Borland C++ yang anda punya disimpan. Untuk membuka

aplikasi Turbo C++ melalui menu Start seperti terlihat pada Gambar dibawah ini.

Page 9: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 5

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Kemudian akan muncul tampilan awal Turbo C++ seperti terlihat pada Gambar

dibawah ini.

Turbo C++ memiliki menu pada bagian atas layar (menu toolbar) yang hampir sama

denga TPW 1.5. Beberapa Item-item dari menu ini berupa:

File

Edit Berisi berbagai perintah yang berhubungan dengan operasi penyuntingan

program, seperti : menyalin dan membuang teks, melakukan proses

penghapusan, melakukan proses undo dan redo.

Page 10: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 6

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Search Diantaranya berguna untuk mencari dan mengganti teks

Debug

Diantaranya untuk:

- mengkompilasi program ke disk atau ke memori

- melakukan trace terhadap program untuk mencari kesalahan yang

disebabkan oleh logika program

2. Menulis Program

Source code C++ dapat ditulis pada text editor Turbo C++, anda dapat memulai

untuk membuat program dengan mengikuti langkah sebagai berikut:

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

(2) Pilih New

Page 11: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 7

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

3. Kompile file dengan (ALT + C atau pilih submenu Compile)

Kompile file dijalankan untuk mengubah source code menjadi sebuah program, kita

gunakan compiler. Setelah source code tercompile, terbentuklah sebuah file objek

dengan ekstension “ .obj “. File “ .obj “ ini belum merupakan sebuah program

executable.

4. Jalankan Program dengan (CTRL+F9 atau pilih submenu Run) Setelah kita kompile file yang berisi source code, maka sebagai hasil kompilasi

tersebut kita akan mendapatkan suatu file yang bisa dijalankan (executable file).

Menjalankan program yang kita buat berarti menjalankan file hasil proses kompilasi

tersebut.

Bila program ada kesalahan maka akan ditampilkan tampilan seperti gambar

dibawah ini

Klik Ok maka kita akan dituntun dimana letak kesalahan dari program seperti gambar

dibawah ini

5. Menyimpan Program Program yang telah dibuat atau dimodifikasi sebaiknya disimpan ke disk sebelum

dijalankan. Langkah ini perlu dilakukan agar program yang baru saja ditulis tidak

hilang bila computer mendadak mati saat program dieksekusi atau karena sebab-

sebab lain.

Page 12: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 8

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Cara menyimpan program adalah sebagi berikut:

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

(2) Pilih Save atau Save as

Setelah jendela tersebut muncul, ketik nama file yang dikehendaki. Misalnya:

Lat1 kemudian tekan Enter

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

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

8. Keluar dari Turbo C++ Jika Anda bermaksud keluar dari Turbo C++ dan kembali ke Sistem Operasi, langkah

yang diperlukan adalah sebagai berikut:

(1) Tekan ALT+F (menu File),

(2) Pilihlah Exit.

9. Meminta Bantuan dari Turbo Pascal Anda dapat memilih menu Help untuk keperluan ini.

III. LANGKAH-LANGKAH PEMBUATAN PROGRAM

1. Setelah berada di editor TPW 1.5 atau Turbo C++, untuk menulis program baru

caranya tekan tombol ALT + F pilih NEW terlebih dahulu sebelum anda mengetik

program anda.

2. Ketikan program anda

3. Simpan program anda dengan cara tekan tombol ALT + F pilih Save kemudian

ketikkan nama program.

Page 13: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 9

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

4. Jalankan program dengan menekan tombol ALT + F pilih RUN atau CTR + F9 pada

TPW 1.5 dan tanda pada Turbo C++ 5. Bila ada kesalahan perbaiki kesalahan tersebut kemudian anda ulangi langkah 4. 6. Untuk membuat program baru ulangi langkah 2.

7. Bila anda ingin mencek apakah program anda sudah tersimpan atau ingin

menampilkan program anda kembali ke layar tekan tombol ALT + F pilih OPEN kemudian enter

Page 14: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 10

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

PERTEMUAN 1 PENGENALAN PROGRAM PASCAL

I. TUJUAN DAN SASARAN PERCOBAAN Setelah mengikuti praktikum ini mahasiswa mampu :

(1) memahami dan menjelaskan struktur pemrograman PASCAL

(2) menyebutkan dan menjelaskan element-element pada bahasa PASCAL

(3) membedakan cara pendeklarasian type data yang ada dalam Pascal

(4) membedakan penggunaan perintah READ dan READLN untuk menyusun program

dalam bahasa PASCAL

(5) membedakan penggunaan perintah WRITE dan WRITELN untuk menyusun program

dalam bahasa PASCAL

(6) menyelesaikan permasalahan dengan membangun algoritma dan

mengimplementasikan dengan menggunakan struktur data sederhana pada

pemrograman PASCAL .

II. MATERI POKOK BAHASAN

Penyusunan program bahasa PASCAL dan Turbo C++ 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

1. PENGENALAN PROGRAM PASCAL 1.1. Struktur Program Pascal 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 :

Page 15: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 11

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

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

1.2. Baris Komentar Baris komentar adalah baris-baris yang menjelaskan maksud dari perubah

yang digunakan atau maksud dari program itu sendiri. Hal ini dimaksudkan untuk

memudahkan pelacakan atas perubah yang digunakan apabila program yang

digunakan cukup besar atau memudahkan orang lain memahami program yang kita

buat.

Dalam program, baris komentar diletakkan diantara tanda (* dan *) atau diantara

tanda { dan }. Dan didalam program baris ini tidak dikerjakan oleh komputer dan

hanya dianggap sebagai baris kosong. Sebagai contoh :

Clrscr; { Untuk membersihkan layar } Var A : integer (*sisi siku-siku yang pertama*)

1.3. Judul Program Judul Program sifatnya sebagai dokumentasi saja, tidak signifikan terhadap proses

program. Bentuk umumnya sbb :

Program [nama program] (daftar pengenal)

Contoh :

Program pengenal;

Keterangan : Program adalah kata cadangan Pengenal adalah nama program

Page 16: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 12

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

1.4. Blok Program 1.4.1. Deklarasi Label

Adalah menyatakan lokasi tempat pernyataan yang dituju oleh sebuah

pernyataan GOTO dalam program

Sintaks : Label daftar_label;

1.4.2. Deklarasi Konstanta (CONST) Dalam program definisi const adalah kata cadangan yang berarti

konstanta yang digunakan untuk memberi nama sembarang konstanta,

apabila harganya harus muncul beberapa kali dalam program

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 :

Bentuk umumnya :

CONST pengenal1 : Tipe1 = nilaiKonstanta1;

Pengenal2 : Tipe2 = nilaiKonstanta2;

1.4.3. Deklarasi Perubah (VAR) Semua perubah/variabel yang akan digunakan dalam program harus

didefinisikan terlebih dahulu di awal program.

Bentuk Umum deklarasi perubah :

VAR daftar pengenal dipisahkan dengan koma : tipe data;

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 )

Page 17: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 13

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

3. kombinasi huruf dengan angka dengan posisi pertama harus huruf

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

bawah tidak boleh menggunakan character khusus seperti (*, /, %,@

dsb).

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

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

Page 18: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 14

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

4. Satu statemen boleh terdiri dari beberapa baris

5. Konstanta tidak boleh dipecah dalam beberapa baris

2. STATEMENT INPUT DAN OUTPUT 2.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(<variabel | string | numeric>); atau

Writeln (<variabel | string | numeric>);

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

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

Page 19: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 15

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

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.

III. PROSEDUR CARA KERJA DAN CONTOH PROGRAM

Prosedur Cara Kerja : 1. Ketiklah listing program untuk setiap contoh kasus dibawah ini.

2. Kompilasi dan jalankan masing-masing program dibawah ini, kemudian amati dan

cetak outputnya.

3. Buatlah flowchart untuk masing-masing program tersebut

4. Kumpulkan hasil cetakan output program dan flowchart yang anda buat

kumpulkan di akhir sesi

Contoh Program : 1. Contoh program pengenalan untuk menampilkan suatu kalimat. Amati perbedaan

hasil tampilan menggunakan statemen write dan writeln, kemudian simpan dengan

nama Contoh1.pas

Program satu; Uses wincrt; Begin

Write (‘ SELAMAT’); Writeln(‘ BELAJAR PEMROGRAMAN KOMPUTER’); Write(‘ di Laboratorium Komputer III’);

End.

2. Contoh program pengenal deklarasi konstanta, simpan dengan nama Contoh2.pas

PERMASALAHAN : Menampilkan data-data 2 buah lingkaran , bila diketahui data-data yang dipunyai

sebagai berikut jari-jari lingkaran dalam = 20 cm; jari-jari lingkaran luar = 10 cm;

Program Dua; Uses wincrt; { fasilitas unit yang digunakan} CONST

Keterangan = ‘Data jari-jari lingkaran’; Jari_1 = 20; Jari_2 = 10;

Page 20: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 16

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Begin Clrscr; { fungsi unit untuk membersihkan layar} Writeln(keterangan); writeln; Writeln(‘ Jari-jari lingkaran dalam : ‘, jari_1); Writeln(‘ Jari-jari lingkaran luar : ‘, jari_2); Readln; {Menahan tampilan}

End.

3. Contoh program pengenalan deklarasi variabel, simpan dengan nama Contoh3.pas

PERMASALAHAN : Mengacu pada permasalahan pada permasalahan pada conoth kasus no. 2,

dengan data dipesankan sebagai variabel.

Program Tiga; Uses wincrt; VAR

Ket : string[50]; phi : real; jari : real;

Begin

Clrscr; Ket :=’ Data perhitungan Luas dan Keliling Lingkaran ‘; phi := 22/7; jari := 10; Writeln(ket); writeln; Writeln(‘ Nilai Phi : ‘, phi:10:2); Writeln(‘ Jari-jari lingkaran : ‘, jari,’ cm’); Readln;

End.

4. Contoh program pengenalan deklarasi konstanta dan variabel, simpan dengan nama

Contoh4.pas PERMASALAHAN :

Menentukan luas dan keliling lingkaran, bila diketahui nilai jari-jari lingkaran.

Program Empat; Uses wincrt; CONST phi = 22/7; jari = 10;

Page 21: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 17

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

VAR Luas, Keliling : real; Begin

Clrscr; Luas := 0.5 * phi * jari; Keliling := 2*phi*jari; Writeln(‘ PERHITUNGAN LUAS & KELILING LINGKARAN ‘); Writeln(‘~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‘); Writeln; Writeln(‘ Jari-jari lingkaran : ‘, jari,’ cm’); Writeln(‘ Luas Lingkaran : ‘, Luas,’ cm^2’); Writeln(‘ Keliling Lingkaran : ‘, Keliling:10:2,’ cm’); Readln;

End.

5. Contoh program pengenalan input data lewat keyboard, simpan dengan nama

Contoh5.pas

PERMASALAHAN : Menentukan luas serta sisi miring dari segitiga siku-siku dimana diketahui

sisi-sisi siku-sikunya dan harganya diinputkan lewat keyboard.

Program Lima; Uses wincrt; VAR

A,B,C,L : real; Begin

Clrscr; Write (‘ Panjang sisi siku-siku yang pertama : ‘); readln(A); Write (‘ Panjang sisi siku-siku yang ke dua : ‘); readln(B); L := 0.5 * A * B; C := sgrt (sqr(A) + sqr(B)); Writeln(‘ PERHITUNGAN LUAS & SISI MIRING SEGITIGA SIKU-SIKU ‘); Writeln(‘~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~‘); Writeln; Writeln(‘ Sisi siku-siku yang pertama : ‘, A:10:2,’ cm’); Writeln(‘ Sisi siku-siku yang kedua : ‘, B:10:2,’ cm’); Writeln(‘ Panjang sisi miring : ‘, C:10:2,’ cm’);

Writeln(‘ Luas segitiga siku-siku : ‘, L:10:2,’ cm’); Readln;

End.

Page 22: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 18

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

IV. LATIHAN

Berdasarkan contoh-contoh program sebelumnya, buatlah program untuk menyelesaikan

permasalahan di bawah ini.

1. Buatlah algoritma dan program untuk Buatlah program untuk menghitung luas

bangunan geometri (bujursangkar,lingkaran, segitiga dan trapesium). Data masukkan

dibaca dari piranti masukkan dan luas bangun ditampilkan sebagai keluaran.

2. Buatlah program dengan menggunakan define untuk menghitung volume Tabung

(Rumus Volume Tabung : phi x jari-jari x jari-jari x tinggi) dan Luas Tabung (Rumus

Luas tabung : 2 x phi x jari-jari x tinggi )dimana jari-jari 7 dan tinggi 24.

3. Buatlah algoritma dan program untuk mengkonversi suhu dari Celcius ke Fahrenheit.

Masukan program ini adalah suhu dalam Celcius berupa bilangan real. Keluaran dari

program adalah suhu dalam Fahrenheit.

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

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

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

Sanjaya, Dwi, 2001, Bertualang dengan Sruktur Data di Planet Pascal, J & J Learning, Yogyakarta.

Page 23: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 19

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

PERTEMUAN 2 PENYELEKSIAN KONDISI

I. TUJUAN DAN SASARAN PERCOBAAN

Setelah mengikuti praktikum ini mahasiswa dapat :

(1) menuliskan bentuk umum penyeleksian kondisi menggunakan statemen IF tunggal,

IF Jamak, IF Bertingkat minimal untuk membangun program yang sederhana.

(2) menuliskan bentuk umum penyeleksian kondisi menggunakan statemen CASE OF.

(3) membangun algoritma dan program untuk menyelesaikan masalah menggunakan

IF THEN dan CASE OF

(4) membedakan penggunaan penyeleksian kondisi menggunakan IF THEN atau

CASE OF untuk permasalah yang sederhana

II. MATERI POKOK BAHASAN

1. PILIHAN TUNGGAL

Bentuk paling sederhana pilihan tunggal adalah IF …….. THEN ……., yakni jika

hanya ada satu pilihan yang disediakan. Bentuk umum statemen kendali IF untuk

pilihan tunggal

IF kondisi THEN

Statemen

Dengan kondisi : ungkapan boolean, yakni ungkapan yang akan

menghasilkan nilai Benar atau salah.

Statemen : statemen tunggal atau statemen majemuk yang akan

dikerjakan jika Kondisi bernilai benar.

2. PILIHAN GANDA Bentuk yang digunakan adalah IF pilihan ganda, yakni dengan memilih salah satu

dari 2 alternatif yang disediakan.

Bentuk umum :

IF kondisi THEN Statemen1

ELSE Statemen2.

Page 24: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 20

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Dengan kondisi adalah ekspresi yang bernilai benar atau salah

Statemen1 adalah statemen tunggal atau statemen majemuk yang akan

dikerjakan jika kondisi bernilai benar

Statemen2 adalah statemen tunggal atau statemen majemuk yang akan

dikerjakan jika kondisi bernilai salah

3. PILIHAN MAJEMUK Bentuk statemen IF untuk pilihan jamak merupakan variasi statemen IF yang

lengkap. Sesuai dengan namanya, pilihan jamak, dalam pengambilan keputusan

disediakan lebih dari 2 alternatif. Bentuk umum statemen kendali IF THEN ELSE

berganda :

IF kondisi THEN Statemen1 ELSE IF kondisi2 THEN Statemen2 ELSE Statemen berikutnya

4. STATEMENT CASE Selain menggunakan statemen IF pilihan jamak, pengambilan keputusan untuk

sejumlah alternatif jawaban bisa dilaksanakan dengan statemen CASE.

Bentuk umum statemen CASE

CASE ungkapan OF Label1 : statemen1; Label2 : statemen2; Labeln : statemenn; END;

Dengan :

- Ungkapan yang mengikuti kata CASE dapat berupa sembarang ungkapan yang

memberikan hasil integer, char atau boolean.

- Label, yang masing-masing disebut label kasus, adalah konstanta yang

mempunyai tipe yang sama dengan ungkapan. Setiap label kasus dapat terdiri

dari sejumlah konstanta dipisahkan dengan koma. Konstanta tertentu hanya bisa

muncul dalam satu label kasus.

- Statemen yag mengikuti tanda titik dua dapat berupa statemen tunggal atau

majemuk.

- Kata end digunakan untuk mengakhiri setiap statemen case dan merupakan

bagian dari statemen CASE.

Page 25: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 21

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

III. PROSEDUR CARA KERJA DAN CONTOH PROGRAM

Prosedur Cara Kerja : 1. Ketiklah listing program untuk setiap contoh kasus dibawah ini.

2. Kompilasi dan jalankan masing-masing program dibawah ini, kemudian amati dan

cetak outputnya.

3. Buatlah flowchart untuk masing-masing program tersebut

4. Kumpulkan hasil cetakan output program dan flowchart yang anda buat

kumpulkan di akhir sesi

Contoh Program : 1. Contoh penggunaan IF tunggal, simpan program dengan nama Contoh6.pas

Program Enam; uses wincrt; var usia : integer; begin clrscr; Write (‘ Berapa usia anda ? : ‘); readln(usia);

if usia < 17 then writeln(‘Anda tidak diperkenankan menonton’); end.

2. Contoh penggunaan IF pilihan ganda, simpan program dengan nama Contoh7.pas

PERMASALAHAN : Menentukan apakah bilangan yang dimasukkan merupakan bilangan genap atau

ganjil.

Program tujuh; uses wincrt; var I, Bil : integer; ket : string; begin clrscr; write('Masukkan bilangan yang akan diuji : ');readln(i); bil := I mod 2; if bil = 0 then ket :='Bilangan genap'

Page 26: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 22

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

else ket:='Bilangan ganjil'; clrscr; write('Bilangan : ',i,' adalah '); writeln(ket); end.

3. Contoh penggunaan IF pilihan jamak, simpan program dengan nama Contoh8.pas

PERMASALAHAN : Diketahui perhitungan untuk nilai akhir mahasiswa didapatkan dari rumus

• NA =10% *kehadiran + 30% *(Tugas + UTS + UAS) Mahasiswa akan mendapatkan nilai A apabila NA >= 80 Mahasiswa akan mendapatkan nilai B apabila NA >= 70 Mahasiswa akan mendapatkan nilai C apabila NA >= 60 Mahasiswa akan mendapatkan nilai D apabila NA >=50 Mahasiswa akan mendapatkan nilai E apabila NA <50 Program Delapan; uses wincrt; var hd, tg,uts,uas,na : real; Nh : char; begin clrscr; writeln(‘ Data penilaian mahasiswa’); write('Kehadiran : ');readln(hd); write('Tugas : ');readln(tg); write('Ujian Tengah Semester : ');readln(uts); write(‘ Ujian Akhir Semester : ‘ );readln(uas); NA := 0.1*hd + 0.3*(tg+uts+uas); If NA >= 80 then Nh := ‘A’ Else if NA>= 70 then Nh:= ‘B’ Else if NA >= 60 then Nh := ‘C’ Else if NA >= 50 then Nh := ‘D’ Else NH := ‘E’; writeln('Nilai Angka : ',NA :8:2); writeln(’Nilai Huruf : ’,Nh); end.

4. Contoh penggunaan CASE, simpan program dengan nama Contoh9.pas

uses wincrt; var ket, nama : string; kode : char;

Page 27: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 23

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

begin write(‘ Masukkan nama anda : ‘); readln(nama); write('Pilih Kode jurusan di MIPA : ');readln(kode); case upcase(kode) of 'A' : ket:='Jurusan Matematika Ps. Statistik'; 'B' : ket:='Jurusan Matematika Ps. Ilmu KOmputer'; 'C' : ket:='Jurusan Kimia'; end; clrscr; writeln(‘Nama anda : ‘,nama); writeln('Kode jurusan anda : ',kode); writeln('keterangan : ',ket); end.

IV. LATIHAN

Buatlah masing-masing kasus dibawah ini menggunakan penyeleksian bentuk If then dan Case Of 1. Buatlah program untuk menseleksi suatu bilangan dengan ketentuan sebagai berikut

0<=nilai <30 : Nilai rendah

30<=nilai < 60 : Nilai sedang

60<=nilai<=100 : Nilai tinggi

2. Buatlah program dalam bentuk menu yang mampu menghitung :

a. Luas dan Keliling Bujur sangkar

b. Luas dan Keliling persegi panjang

c. Luas dan keliling lingkaran

V. BAHAN BACAAN

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

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

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

Sanjaya, Dwi, 2001, Bertualang dengan Sruktur Data di Planet Pascal, J & J Learning, Yogyakarta.

Page 28: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 24

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

PERTEMUAN 3 P E R U L A N G A N (LOOPING)

I. TUJUAN DAN SASARAN PERCOBAAN

Setelah mengikuti praktikum ini mahasiswa dapat :

(1) menjelaskan konsep penggunaan struktur perulangan FOR, WHILE dan REPEAT

UNTIL minimal untuk membangun program untuk proses looping yang sederhana.

(2) menyelesaikan masalah dengan membangun program menggunakan looping

bertingkat

(3) memahami penggunaan looping for, while, dan repeat until, serta dapat memahami

persamaan dan perbedaan antara perintah looping yag satu dengan yang lain.

Sehingga nantinya dapat menyusun sebuah program untuk dapat memilih looping

yang sesuai dengan permasalahan.

II. MATERI POKOK BAHASAN

1. STATEMEN PERULANGAN FOR ….. TO …. DO Perulangan dengan statemen FOR digunakan untuk mengulang statemen atau satu

blok statemen berulang kali sejumlah yang ditentukan. Perulangan dapat dalam

bentuk positif, perulangan negatif dan perulangan tersarang.

Bentuk umum :

FOR perubahan := awal TO akhir DO statemen

Keterangan :

Perubahan adalah nama perubah kendali

Awal adalah awal perubah kendali

Akhir adalah akhir perubah kendali

Statemen adalah statemen yang diproses berulang

2. STATEMEN PERULANGAN WHILE …. DO Statemen WHILE …. DO digunakan untuk melakukan proses perulangan suatu

statemen atau blok statemen terus menerus selama kondisi ungkapan logika pada

WHILE masih bernilai logika benar.

Bentuk umum

WHILE kondisi DO statemen

Page 29: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 25

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Keterangan :

Statemen adalah statemen yang diproses berulang

Kondisi adalah syarat supaya proses berulang bisa berlangsung

3. STATEMEN PERULANGAN REPEAT … UNTIL Struktur REPEAT … UNTIL digunakan untuk mengulang (REPEAT) statemen-

statemen atau blok statemen sampai (UNTIL) kondisi yang diseleksi di UNTIL tidak

dipenuhi.

Bentuk Umum :

REPEAT statemen UNTIL kondisi

Keterangan :

Statmen adalah yang diproses berulang

Kondisi adalah supaya proses berulang dihentikan

III. PROSEDUR CARA KERJA DAN CONTOH PROGRAM

Prosedur Cara Kerja : 1. Ketiklah listing program untuk setiap contoh kasus dibawah ini.

2. Kompilasi dan jalankan masing-masing program dibawah ini, kemudian amati dan

cetak outputnya.

3. Kumpulkan hasil cetakan output program di akhir sesi

Contoh Program : 1. Contoh penggunaan FOR…TO…DO, simpan program dengan nama Contoh10.pas

Program Sepuluh; uses wincrt; var i : integer; begin clrscr; for i:= 1 to 5 do begin write('Hallo, Selamat belajar praktikan Jurusan Matematika!'); end; end.

Page 30: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 26

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

2. Contoh penggunaan WHILE…DO, simpan program dengan nama Contoh11.pas

Program Sebelas; uses wincrt; var i : integer; begin clrscr; i:=1; while i< 10 do begin write(i,' Jurusan Matematika '); i:=i+1; end; readln; end.

3. Contoh penggunaan REPEAT ….. UNTIL, simpan program dengan nama

Contoh12.pas

Program Duabelas; uses wincrt; var i : integer; begin clrscr; write('Banyak cacah data = ');readln(N); i:=1; repeat write('Bahasa Pascal mudah ya ?! '); i:=i+1; until i > N; readln; end.

4. Aplikasi program dengan memakai perulangan bertingkat.Simpan program dengan

nama Contoh13.pas

Program Tigabelas; uses wincrt; var i,j : integer; begin for I :=0 to 10 do begin

Page 31: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 27

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

j := 0; writeln;

while j <= I do write(I);

end; end.

IV. LATIHAN

Tulislah Program menggunakan perulangan WHILE untuk menghitung nilai S dimana

secara matematis S adalah

a. S = (1/2) + (2/3) + (3/4) + … + (99/100)

b. S = (1/2) + (2/3) + (3/4) + … dst; sampai s >= 15

c. S = (1) + (1/2) + (1/4) + … dst;

selama pertambahan suku-suku masih > 0.001

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

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

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

Sanjaya, Dwi, 2001, Bertualang dengan Sruktur Data di Planet Pascal, J & J Learning, Yogyakarta.

Page 32: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 28

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

PERTEMUAN 4 TYPE DATA TERSTUKTUR

I. TUJUAN DAN SASARAN PERCOBAAN

Setelah mengikuti praktikum ini mahasiswa dapat

(1) mendeklarasikan tipe data array minimal untuk array satu dimensi untuk

menyelesaikan masalah sederhana.

(2) dapat mengimplementasikan array dalam bentuk program yang sesuai dengan

permasalahan.

(3) menuliskan deklarasi record untuk membangun program sederhana

(4) menyelesaikan permasalahan dengan membangun algoritma dan

mengimplementasikan menggunakan tipe data terstruktur rekaman (record)

II. MATERI POKOK BAHASAN

1. TIPE DATA TERSTRUKTUR (LARIK)

Array adalah suatu tipe data terstruktur yang terdapat dalam memori yang terdiri

dari sejumlah elemen (tempat) yang mempunyai tipe data yang sama dan merupakan

gabungan dari beberapa variabel sejenis serta memiliki jumlah komponen yang

jumlahnya tetap.

Array ( biasa juga disebut larik) merupakan tipe data terstruktur yang berguna

untuk menyimpan sejumlah data yang bersifat sama. Bagian yang menyusun array

biasa dinamakan elemen array. Masing-masing elemen dapat diakses tersendiri,

melalui indeks array.

Elemen-elemen dari array tersusun secara sequential dalam memori komputer. Array

dapat berupa satu dimensi, dua dimensi, tiga dimensi ataupun banyak dimensi.

Banyaknya komponen dalam suatu larik ditunjukkan oleh suatu indeks yang

disebut dengan tipe indeks (index type). Array dapat bertipe data sederhana seperti

byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange.

Bentuk umum array berdimensi 1:

Var nama : array[index] of tipe

dengan :

var, array, of kata cadangan yang harus ada.

nama nama larik yang akan dideklarasikan.

Page 33: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 29

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

index batas yang akan ada pada larik yg akan

dideklarasikan(cacah elemnya).

tipe tipe larik.

Bentuk umum array berdimensi n:

Var nama : array[index1,index2,...,indexn] of tipe

dengan :

var, array, of kata cadangan yang harus ada.

nama nama larik yang akan dideklarasikan.

Index1 batas pertama yang akan ada pada larik yg akan dideklarasikan

Index2 batas ke dua yang akan ada pada larik yg akan dideklarasikan

Indexn batas ke n yang akan ada pada larik yg akan dideklarasikan

tipe tipe larik.

2. TIPE DATA TERSTRUKTUR (RECORD) Seperti pada larik, rekaman (record) adalah kumpulan data. Perbedaan antara larik

dengan rekaman adalah bahwa dalam larik semua elemennya harus bertipe sama,

tetapi dalam rekaman setiap elemen dapat mempunyai tipe data yang berbeda satu

sama lainnya. Untuk mendeklarasikan rekaman selalu diawali dengan nama record

tanda sama dengan (=) dan kata kunci record serta diakhiri oleh kata kunci end.

Field-field dari record tersebut diletakkan diantara kata kunci record dan end.

Bentuk umum : type

pengenal1 = record medan1 : tipe1;

medan2 : tipe2; .

medann : tipen; end;

dimana :

pengenal pengenal yang menunjukkan tipe data yang akan dideklarasikan.

medan nama medan yang akan digunakan.

tipe sembarang tipe data yang telah dideklarasikan sebelumnya

Page 34: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 30

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

III. PROSEDUR CARA KERJA DAN CONTOH PROGRAM

Prosedur Cara Kerja : 1. Ketiklah listing program untuk setiap contoh kasus dibawah ini.

2. Kompilasi dan jalankan masing-masing program dibawah ini, kemudian amati dan

cetak outputnya.

3. Buatlah flowchart untuk masing-masing program tersebut

4. Kumpulkan hasil cetakan output program dan flowchart yang anda buat

kumpulkan di akhir sesi

Contoh Program : 1. Contoh penggunaan program dengan menggunakan array, simpan program dengan

nama Contoh14.pas

PERMASALAHAN : Diketahui himpunan n buah data yang merupakan nilai n orang siswa dalam suatu

mata pelajaran. Akan ditentukan berapa rata-rata kelas dan berapa orang siswa

mempunyai nilai diatas rata-rata kelas.

program empatbelas; uses wincrt; var i,n,nilatas : integer; nom,nama : array[1..10] of string; nilai : array[1..10] of real; jum, rata : real; begin clrscr; write('Banyak data mahasiswa : ');readln(n); for i:= 1 to n do begin write('Nomor mahasiswa : ');readln(nom[i]); write('Nama mahasiswa : ');readln(nama[i]); write('Nilai : ');readln(nil[i]); end; clrscr; writeln('':10,'Daftar Nilai Mahasiswa'); writeln('--------------------------------------------------------------------'); writeln('| no | nomor | nama mahasiswa | Nilai |');

Page 35: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 31

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

writeln('| | mahasiswa | | |'); writeln('--------------------------------------------------------------------'); jum := 0; for i:= 1 to n do begin jum := jum + nil[I]; write('|',i:3,'|',nom[i],'':10-length(nom[i]),'':5,'|',nama[i],'':26-length(nama[i])); writeln('|',nilai:15:2, '':26,'|'); end; writeln('-------------------------------------------------------------------------'); rata := jum /n; nilatas:=0; For I:=1 to n do Begin If nil(I) > rata then nilatas := nilatas+ 1; End; Writeln(‘ Rata-rata kelas : ‘,rata:7:2); Writeln(‘ Jumlah mahasiswa yang mendapat nilai diatas rata-rata : ‘,nilatas); readln

end.

2. Contoh penggunaan program dengan menggunakan record, simpan program dengan

nama Contoh15.pas

PERMASALAHAN : Diketahui himpunan n buah data yang merupakan nilai n orang siswa dalam suatu

mata pelajaran. Akan ditentukan berapa rata-rata kelas dan berapa orang siswa

mempunyai nilai diatas rata-rata kelas.

program limabelas; uses wincrt; type data = record nom, nama : string; nilai : real; end; var i,n,nilatas : integer; mhs : array[1..50] of data; jum, rata : real; begin clrscr;

Page 36: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 32

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

write('Banyak data mahasiswa : ');readln(n); for i:= 1 to n do begin write('Nomor mahasiswa : ');readln(mhs[i].nom); write('Nama mahasiswa : ');readln(mhs[i].nama); write('Nilai : ');readln(mhs[i].nil); end; clrscr; writeln('':10,'Daftar Nilai Mahasiswa'); writeln('--------------------------------------------------------------------'); writeln('| no | nomor | nama mahasiswa | Nilai |'); writeln('| | mahasiswa | | |'); writeln('--------------------------------------------------------------------'); jum := 0; for i:= 1 to n do begin jum := jum + mhs[i].nil; write('|',i:3,'|',mhs[i].nom,'':10-length(mhs[i].nom),'':5,'|', mhs[i].nama,'':26-length(mhs[i].nama)); writeln('|',mhs[i].nilai:15:2, '':26,'|'); end; writeln('-------------------------------------------------------------------------'); rata := jum /n; nilatas:=0; For I:=1 to n do Begin If mhs[i].nil > rata then nilatas := nilatas+ 1; End; Writeln(‘ Rata-rata kelas : ‘,rata:7:2); Writeln(‘ Jumlah mahasiswa yang mendapat nilai diatas rata-rata : ‘,nilatas); readln

end.

IV. LATIHAN Buatlah program menggunakan type data terstruktur untuk menghitung gaji bersih untuk

setiap karyawan dengan informasi masukan berupa data NIP, Nama, Kode Golongan,

Status Pernikahan dan jumlah anak.

Kode golongan akan menentukan gaji pokok untuk setiap karyawan dengan ketentuan

sebagai berikut :

Page 37: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 33

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Kode Golongan Gaji Pokok

A 600.000

B 700.000

C 800.000

D 900.000

Sementara kode untuk status pernikahan adalah sebagai berikut :

Kode Golongan Gaji Pokok

1 Nikah

2 Belum Nikah

3 Cerai

Ketentuan yang berlaku adalah sebagai berikut :

• Gaji bersih = gaji pokok + tunjangan

• Tunjangan = tunjangan status + tunjangan anak

• Tunjangan status = 10% dari gaji pokok

• Tunjangan anak = jumlah anak x 5% X gaji pokok

• Tunjangan anak hanya diberikan sampai dengan anak ke-3

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

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

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

Sanjaya, Dwi, 2001, Bertualang dengan Sruktur Data di Planet Pascal, J & J Learning, Yogyakarta.

Page 38: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 34

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

PERTEMUAN 5 SUBROUTINE

I. TUJUAN DAN SASARAN PERCOBAAN

Setelah mengikuti praktikum ini mahasiswa dapat

(1) menjelaskan bentuk umum dari procedure dan fungsi

(2) menjelaskan perbedaan cara pengiriman data dengan menggunakan parameter

pengiriman

(3) menyelesaikan permasalahan dengan memecah permasalahan dalam bentuk fungsi

atau procedure yang dapat dipergunakan berulang kali.

II. MATERI POKOK BAHASAN

1. PROCEDURE

Deklarasi prosedur , terdiri dari tiga bagian:

1. Judul prosedur

2. bagian deklarasi

3. bagian pernyataan

Format yang lengkap 1.1. Cara Mendeklarasikan Procedure

Untuk mendeklarasikan procedure dapat dilakukan dengan 2 cara, yaitu :

Judul procedure tanpa parameter Bentuk umum :

PROCEDURE namaprocedure;

Contoh :

Procedure BuatKotak;

Procedure Input;

Procedure Output;

PROCEDURE nama(daftar_parameter); Bagian deklarasi; Bagian pernyataan;

Page 39: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 35

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Judul procedure dengan parameter. Bentuk umum :

PROCEDURE namaprocedure(daftar parameter);

Contoh :

Procedure BuatKotak(baris,kolom : integer);

Procedure Input(a,b : byte; c : real);

1.2. PARAMETER DALAM PROSEDUR

Parameter dalam prosedur ada dua macam, yaitu :

Parameter Lokal Artinya hanya dapat digunakan pada modul atau unit program yang

bersangkutan saja, tidak dapat digunakan pada modul atau unit program yang

lainnya.

Bentuk umumnya :

Procedure kesatu; Var {deklarasi parameter LOKAL} ……… Begin ……… End; {PROGRAM UTAMA} begin ……… End.

Parameter Global Artinya dapat digunakan pada modul atau unit program yang lainnya.

Bentuk umumnya :

Var {deklarasi parameter LOKAL} ……… Procedure kesatu; Begin ……. End; {PROGRAM UTAMA} begin ……… End.

Karena a dan b berbeda type dengan c maka penulisannya dipisahkan dengan titik koma (;)

Page 40: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 36

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

1.3. PENGIRIMAN PARAMETER PADA PROSEDUR Pegiriman paremeter di dalam prosedur ada dua macam :

Pengiriman secara nilai (by value)

Parameter formal di prosedur akan berisi nilai yang dikirimkan yang kemudian

bersifat lokal di prosedur. Bila nilai parameter formal di prosedur tersebut

berubah, tidak akan mempengaruhi nilai parameter nyata.

Bentuk umumnya :

Procedure identifier (parameter : type);

Contoh :

Procedure Hitung (A,B : ineteger);

Pengiriman secara acuan (by reference)

Bila pengiriman parameter secara acuan, maka perubahan-perubahan yang

terjadi pada nilai parameter formal di prosedur akan mempengaruhi nilai

parameter nyata.

Bentuk umumnya :

Procedure identifier ( VAR parameter : type);

Contoh :

Procedure Hitung ( VAR A,B : ineteger);

2. FUNCTION 2.1. Judul function Tanpa Parameter

Suatu fungsi yang tanpa menggunakan parameter berarti nilai balik yang akan

dihasilkannya merupakan nilai yang sudah pasti. Fungsi yang tidak mempunyai

parameter, maka hasil fungsi tersebut tidak dapat diatur dari modul yang

menggunakannya, karena tidak ada parameter yang dikirimkan.

Bentuk umum :

Function <namaFunction> : tipedata

dengan :

function kata cadangan yang harus ada.

namaFunction nama fungsi yang akan dideklarasikan.

tipedata tipe data hasil dari fungsi tersebut.

Judul function selalu diawali dengankata cadangan function dan diikuti dengan

nama function serta tipe datanya yang dipisahkan dengan tanda titik dua ( : ). Berikut digambarkan struktur blok program beserta function tanpa parameter.

Page 41: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 37

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

2.2. Judul function Dengan Parameter Parameter digunakan untuk memberikan input pada fungsi dan fungsi akan

memberikan hasil balik sesuai yang diberikannya.

Bentuk deklarasi suatu fungsi dengan parameter adalah sebagai berikut:

Dalam hal ini:

daftar_parameter dapat berisi sejumlah parameter

Bentuk dari daftar_parameter:

daf_parameter_1 : tipe_1; daf_parameter_2 : tipe_2; …;

daf_parameter_n : tipe_n

tipe menyatakan tipe dari hasil fungsi

Jika fungsi tidak memiliki parameter, tanda ( ) tidak perlu disertakan

Sama dengan prosedur, parameter dalam fungsi dapat dikirimkan secara

nilai atau secara acuan. Penulisan judul fungsi yang menggunakan parameter

dengan pengiriman secara nilai adalah tampak sebagai berikut :

Function Hitung (A,B : integer) : integer;

Sedangkan penulisan judul fungsi menggunakan parameter dengan pengiriman

secara acuan adalah dengan menambahkan kata cadangan VAR sebagai berikut:

Function Hitung ( VAR A,B : integer) : integer;

Contoh deklarasi fungsi:

FUNCTION Tambah (A : Real; B : Real) : Real; Contoh ini menunjukan bahwa fungsi Tambah mempunyai dua buah parameter

yang masing-masing bertipe Real. Selain itu, hasil fungsi juga bertipe Real Berhubung tipe kedua parameter sama, penulisan seperti berikut merupakan

ekuivalennya:

FUNCTION Tambah (A, B : Real) : Real;

FUNCTION nama_fungsi(daftar_parameter) : tipe;

Bagian_deklarasi;

Bagian_pernyataan;

Page 42: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 38

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

III. PROSEDUR CARA KERJA DAN CONTOH PROGRAM

Prosedur Cara Kerja : 1. Ketiklah listing program untuk setiap contoh kasus dibawah ini.

2. Kompilasi dan jalankan masing-masing program dibawah ini, kemudian amati dan

cetak outputnya.

3. Kumpulkan hasil cetakan output program di akhir sesi

Contoh Program : 1. Contoh penggunaan program dengan menggunakan parameter global, simpan

program dengan nama Contoh16.pas

Program Prosedur1; uses wincrt; var a,hasil : real; Procedure jam_ke_menit; begin writeln; write('masukan jam : '); readln(a); hasil := a * 60; writeln(a:5:2,' jam ada : ',hasil:8:2,' menit'); end; {Program utama} begin clrscr; jam_ke_menit; readln; end.

2. Contoh penggunaan prosedur dengan parameter global dan pengiriman secara nilai,

simpan program dengan nama Contoh17.pas

Program Prosedur2; uses wincrt; var x,y,jumlah : integer; { parameter global} Procedure jml(x,y,jumlah : integer); {parameter nilai} begin jumlah := x + y; writeln('Jumlah pada procedure : ',jumlah); jumlah := jumlah + 10; writeln('Jumlah baru pada procedure : ',jumlah);

Page 43: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 39

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

end; {Program Utama} begin a:= 5; b:= 1; jumlah := a + b; writeln('Jumlah pada program utama : ',jumlah); jml(a,b,jumlah); writeln('Jumlah baru pada program utama : ',jumlah); readln; end.

3. Contoh penggunaan prosedur dengan menggunakan parameter lokal dan pengiriman

secara acuan, simpan program dengan nama Contoh18.pas

Program Prosedur3; uses wincrt; Procedure tambah(a,b : integer; var c: integer); {Parameter acuan} begin c:= a + b; end; {Program Utama} var x,y,z : integer; {Parameter lokal} begin clrscr; x:= 2; y:= 3; tambah(x,y,z); writeln('X = ',x,' Y = ',y,' Z = ',z);

end.

4. Contoh penggunaan fungsi dengan pengiriman secara nilai, simpan program

dengan nama Contoh19.pas

Program fungsi1; uses wincrt; var a: real; {Parameter global} function hasil(a : real) : real; begin hasil :=a*60; end; {Program utama} begin clrscr; writeln; write('Masukkan jam : '); readln(a);

Page 44: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 40

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

writeln(a:5:2,' jam ada : ',hasil(a):8:2,' menit'); end.

5. Contoh penggunaan fungsi dengan pengiriman secara acuan, simpan program

dengan nama Contoh20.pas

Program fungsi2; uses wincrt; var a,b,jumlah : integer; function jml(var x,y : integer): integer; begin jml := x + y; y := x; end; {Program Utama} begin clrscr; a:= 5; b:=1; writeln(‘ Nilai a sebelum masuk ke function = ‘,a); writeln('Nilai b sebelum masuk ke function = ',b); writeln('Jumlah : ',jml(a,b)); writeln('Nilai a setelah masuk ke function = ',a); writeln('Nilai b setelah masuk ke function = ',b); end.

IV. LATIHAN

Mengacu pada permasalahan pada tugas Modul 4, diketahui informasi masukan berupa

data NIP, Nama, Kode Golongan, Status Pernikahan dan jumlah anak.

Kode golongan akan menentukan gaji pokok untuk setiap karyawan dengan ketentuan

sebagai berikut :

Kode golongan A maka gaji poko = Rp. 600.000

Kode golongan B maka gaji poko = Rp. 700.000

Kode golongan C maka gaji poko = Rp. 800.000

Kode golongan D maka gaji poko = Rp. 900.000

Sementara kode untuk status pernikahan adalah sebagai berikut :

Kode Status 1 maka status Nikah

Kode status 2 maka status Belum Nikah

Kode status 3 maka Status Cerai

Page 45: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 41

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Ketentuan yang berlaku adalah sebagai berikut :

• Gaji bersih = gaji pokok + tunjangan

• Tunjangan = tunjangan status + tunjangan anak

• Tunjangan status = 10% dari gaji pokok

• Tunjangan anak = jumlah anak x 5% X gaji pokok

Tunjangan anak hanya diberikan sampai dengan anak ke-3

buatlah program dalam bentuk subroutine : Procedure input data, Function untuk

menentukan gaji pokok, dan Procedure untuk menampilkan struk gaji dari masing-

masing karyawan

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

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

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

Sanjaya, Dwi, 2001, Bertualang dengan Sruktur Data di Planet Pascal, J & J Learning, Yogyakarta.

Page 46: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 42

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

PERTEMUAN 6 PENGENALAN PROGRAM C++

I. TUJUAN DAN SASARAN PERCOBAAN

Setelah mengikuti praktikum ini mahasiswa mampu :

(1) memahami dan menjelaskan struktur pemrograman C++

(2) menyebutkan dan menjelaskan element-element pada pemrograman C++

(3) membedakan cara pendeklarasian type data yang ada dalam pemrograman C++

(4) menggunaan perintah cin dan cout untuk menyusun program dalam pemrograman

C++

(5) menyelesaikan permasalahan dengan membangun algoritma dan

mengimplementasikan dengan menggunakan struktur data sederhana pada

pemrograman C++

II. MATERI POKOK BAHASAN

1. STRUKTUR C++ Setiap program C++ mempunyai bentuk umum seperti di bawah, yaitu:

1.1. Include

Adalah salah satu pengarah prepocessor directive yang tersedia pada C++.

Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi.

Bentuk umumnya :

# include <nama_file>

tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu

bentuk pernyataan, tetapi merupakan prepocessor directive. Baris tersebut

menginstrusikan kepada kompiler yang menyisipkan file lain dalam hal ini file yang

berakhiran .h(file header) yaitu file yang berisi sebagai deklarasi

Page 47: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 43

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

contohnya:

- # include <iostream.h> : diperlukan pada program yang melibatkan objek cout

- # include <conio.h> : diperlukan bila melibatkan clrscr(),yaitu perintah

untuk membersihkan layar.

- # include <iomanip.h> : diperlukan bila melibatkan setw() yang bermanfaat

untuk mengatur lebar dari suatu tampilan data.

- # include <math.h> : diperlukan pada program yang menggunkan operasi

sqrt () yang bermanfaat untuk operasi matematika

kuadrat.

1.2. Fungsi main () Fungsi ini menjadi awal dan akhir eksekusi program C++. main adalah nama judul

fungsi. Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang tubuh

program utama berada didalam fungsi main( ). Berarti dalam setiap pembuatan

program utama, maka dapat dipastikan seorang pemrogram menggunakan minimal

sebuah fungsi. Pembahasan lebih lanjut mengenai fungsi akan diterangkan

kemudian. Yang sekarang coba ditekankan adalah kita menuliskan program utama

kita didalam sebuah fungsi main().

1.3. Komentar Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2 jenis

komentar, yaitu:

Jenis 1 : /* Komentar anda diletakkan di dalam ini Bisa mengapit lebih dari satu

baris */

Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris )

1.4. Tanda Semicolon Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap

pernyataan harus diakhiri dengan sebuah tanda semicolon.

1.5. Deklarasi Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam

program. Identifier dapat berupa variable, konstanta dan fungsi.

1.5.1. Deklarasi Variabel

Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu

nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya

selalu tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk

Page 48: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 44

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

memperoleh nilai dari suatu variable digunakan pernyataan penugasan

(assignment statement), yang mempunyai sintaks sebagai berikut :

Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan

sebagai berikut :

1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa

huruf. Bahasa C ++ bersifat case-sensitive artinya huruf besar dan kecil

dianggap berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda.

2. Tidak boleh mengandung spasi.

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

(underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara

lain : $, ?, %, #, !, &, *, (, ), -, +, =dsb.

4. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.

1.5.2. Deklarasi Konstanta

a. Menggunakan keyword const

Contoh : const float PI = 3.14152965;

Berbeda dengan variable, konstanta bernama tidak dapat diubah jika telah

diinisialisasi

b. Menggunakan #define

Contoh : #define PI 3.14152965

Keuntungan menggunakan #define apabila dibandingkan dengan const adalah

kecepatan kompilasi, karena sebelum kompilasi dilaksanakan, kompiler

pertama kali mencari symbol #define (oleh sebab itu mengapa # dikatakan

prepocessor directive) dan mengganti semua Phi dengan nilai 3.14152965.

1.6. Tipe Data Tipe data dapat dikelompokkan menjadi atas dua macam :

1. Tipe Dasar.

2. Tipe Bentukan

1.6.1. Tipe Dasar Tipe data yang berhubungan dengan bilangan bulat adalah char, int, long.

Sedangkan lainnya berhubungan dengan bilangan pecahan

Contoh : int x; // Deklarasi x bertipe integer

Page 49: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 45

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

char y, huruf, nim[10]; // Deklarasi variable bertipe char

float nilai; // Deklarasi variable bertipe float

double beta; // Deklarasi variable bertipe double

1.6.2. Tipe Bentukkan.

Merupakan tipe yang dibentuk dari tipe dasar. Seperti Tipe Struktur.

a). Tipe Data Array tipe terstruktur yang terdiri dari sejumlah komponen yang mempunyai tipe

yang sama. Banyaknya komponen dalam suatu larik ditunjukkan oleh suatu

indeks yang disebut dengan tipe indeks (index type). Tiap-tiap komponen larik

dapat diakses dengan menunjukkan nilai indeksnya.

Bentuk umum : Tipedata nama_variabel[jumlah elemen larik]

Contoh :

int x[5][4]; // Deklarasi array bertipe integer

b). Tipe Data Terstruktur Suatu tipe data yang merupakan kumpulan dari tipe data lainnya. Struktur

terdiri dari data yang disebut field. Field – field tersebut digabungkan menjadi

satu tujuan untuk kemudahan dalam operasi.

Bentuk umumnya :

2. STATEMEN OUTPUT Sebuah program tentunya bertujuan untuk menampilkan hasil yang telah

diprosesnya. Tanpa adanya keluaran sebuah program tidak dapat dilihat

kemampuannya. Dalam bahasa C++ perintah yang digunakan untuk menampilkan

hasil keluaran adalah cout Untuk menggunakan perintah cout ini harus disertakan praprosessor iostream.h

perintah tambahan yang sering dipakai dalam cout : \n untuk pindah baris endl juga untuk pindah baris Statemen yang digunakan untuk menuliskan data ke layer monitor

Page 50: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 46

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

3. STATEMEN INPUT Didalam bahasa C++ perintah masukkan adalah cin >> header yang harus dituliskan

adalah iostream.h

III. PROSEDUR CARA KERJA DAN CONTOH PROGRAM Prosedur Cara Kerja :

1. Ketiklah listing program untuk setiap contoh kasus dibawah ini.

2. Kompilasi dan jalankan masing-masing program dibawah ini, kemudian amati dan

cetak outputnya.

3. Kumpulkan hasil cetakan output program di akhir sesi

Contoh Program :

1. Contoh program pengenalan untuk menampilkan suatu kalimat. kemudian simpan

dengan nama Contoh1.cpp

#include <iostream.h> void main(void) { cout<<" SELAMAT"; cout<<" BELAJAR PEMROGRAMAN KOMPUTER "<<endl; cout<<"di LAB KOMPUTER III"; }

2. Contoh program pengenalan deklarasi variabel, simpan dengan nama Contoh2.cpp PERMASALAHAN ( mengacu contoh permasalahan pada modul 1 ):

#include <iostream.h> void main(void) { float phi = 3.14; int jari; jari= 10; cout<<"Data perhitungan luas dan keliling lingkaran"<<endl; cout<<"Nilai Phi : "<<phi<<endl; cout<<"Jari-jari lingkaran : "<<jari<<" cm"; }

Page 51: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 47

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

3. Contoh program pengenalan deklarasi konstanta dan variabel, simpan dengan nama

Contoh3.cpp PERMASALAHAN ( mengacu contoh permasalahan pada modul 1 ):

Menentukan luas dan keliling lingkaran, bila diketahui nilai jari-jari lingkaran.

#include <iostream.h> void main(void) { const float phi = 3.14; float jari,luas, keliling; jari = 7.0; luas = 0.5 * phi * jari*jari; keliling = 2 * phi * jari; cout<<"Data lingkaran"<<endl; cout<<"Luas lingkaran : "<<luas<<" Cm^2"<<endl; cout<<"Keliling lingkaran : "<<keliling<<" Cm"; }

4. Contoh program pengenalan input data lewat keyboard, simpan dengan nama

Contoh4.cpp

PERMASALAHAN ( mengacu contoh permasalahan pada modul 1 ): Menentukan luas serta sisi miring dari segitiga siku-siku dimana diketahui

sisi-sisi siku-sikunya dan harganya diinputkan lewat keyboard. #include <iostream.h> #include <math.h> void main(void) { float A, B, L; double C; cout<<"Panjang sisi siku-siku yang pertama :"; cin>>A; cout<<"Panjang sisi siku-siku yang ke dua : "; cin>>B; L = 0.5 * A * B; C = sqrt((A*A) + (B*B)); cout<<endl<<"PERHITUNGAN LUAS & PANJANG SISI MIRING"<<endl; cout<<endl<<"Sisi siku-siku yang pertama :"<<A<<" Cm"; cout<<endl<<"Sisi siku-siku yang kedua :"<<B<<" Cm"; cout<<endl<<"Panjang sisi miring :"<<C<<" Cm"; cout<<endl<<"Luas segitiga siku-siku :"<<L<<" Cm^2"; }

Page 52: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 48

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

5. Contoh program pengenalan data terstruktur record, simpan dengan nama

Contoh5.cpp #include <iostream.h> typedef struct { int tahun; char bulan[20]; int tanggal; } data_tunggal; data_tunggal tanggal_lahir; void main(void) { cout<<"tanggal : "; cin>>tanggal_lahir.tanggal ; cout<<"bulan : "; cin>> tanggal_lahir.bulan ; cout<<"Tahun : "; cin>>tanggal_lahir.tahun ; cout << tanggal_lahir.tanggal << '/' << tanggal_lahir.bulan << '/' << tanggal_lahir.tahun << endl; }

IV. LATIHAN

Berdasarkan permasalahan pada latihan pada minggu 1 buatlah menggunakan aplikasi Turbo C++

III. BAHAN PUSTAKA

Thomas H. Cormen et.al, Introduction to Algorithms Second Edition, MIT Press, McGraw-Hill Book Company, 2001

Simon Harris and James Ross, Beginning Algorithms, Willey Publishing Inc, 2006

Jogianto H.M, Konsep Dasar Pemrograman Bahasa C, Penerbit Andi, 2000

Antonie Pranata, Algoritma dan Pemrograman, J&J Learning Yogyakarta, 2000

Iwan Binanto, Konsep Bahasa Pemrograman, Penerbit Andi Yogyakarta, 2005

Moh. Sjukani, Algoritma dan Struktur Data dengan C, C++, dan Java, Mitra Wacana Media, 2005

Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Penerbit Salemba Teknika, 2004

Page 53: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 49

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

PERTEMUAN 7 PENYELEKSIAN KONDISI

I. TUJUAN DAN SASARAN PERCOBAAN

Setelah mengikuti praktikum ini mahasiswa dapat :

(1) menuliskan bentuk umum penyeleksian kondisi menggunakan statemen if tunggal, if

Jamak, if Bertingkat minimal untuk membangun program yang sederhana.

(2) menuliskan bentuk umum penyeleksian kondisi menggunakan statemen switch.

(3) membangun algoritma dan program untuk menyelesaikan masalah menggunakan if ..

else dan switch

(4) membedakan penggunaan penyeleksian kondisi menggunakan if .. else atau switch

untuk permasalah yang sederhana

II. MATERI POKOK BAHASAN

1. PILIHAN TUNGGAL

Sebuah pernyataan yang dapat dipakai untuk mengambil keputusan berdasarkan

suatu kondisi. Bentuk pernyataan ini ada dua macam :

- if saja dan else Bentuk Umumnya Satu Kasus:

if ( kondisi )

Statemen;

Dengan kondisi : ungkapan boolean, yakni ungkapan yang akan

menghasilkan nilai Benar atau salah.

Statemen : statemen tunggal atau statemen majemuk yang akan

dikerjakan jika Kondisi bernilai benar.

2. PILIHAN GANDA Bentuk yang digunakan adalah if pilihan ganda, yakni dengan memilih salah satu dari

2 alternatif yang disediakan.

Bentuk umum :

if ( kondisi ) Statemen1;

else Statemen2;

Page 54: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 50

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Dengan kondisi adalah ekspresi yang bernilai benar atau salah

Statemen1 adalah statemen tunggal atau statemen majemuk yang akan

dikerjakan jika kondisi bernilai benar

Statemen2 adalah statemen tunggal atau statemen majemuk yang akan

dikerjakan jika kondisi bernilai salah

3. PILIHAN MAJEMUK Bentuk statemen if untuk pilihan jamak merupakan variasi statemen if yang lengkap.

Sesuai dengan namanya, pilihan jamak, dalam pengambilan keputusan disediakan

lebih dari 2 alternatif. Bentuk umum statemen kendali if … else berganda :

if (kondisi1) Statemen1; else if (kondisi2) Statemen2; else Statemen berikutnya;

4. STATEMENT SWITCH Selain menggunakan statemen if pilihan jamak, pengambilan keputusan untuk

sejumlah alternatif jawaban bisa dilaksanakan dengan statemen switch.

Bentuk umum statemen switch

Page 55: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 51

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Hal – hal yang perlu diperhatikan adalah :

1. Dibelakang keyword case harus diikuti oleh sebuah konstanta, tidak boleh

diikuti oleh ekspresi ataupun variable.

2. Konstanta yang digunakan bertipe int atau char

3. Jika bentuknya seperti diatas maka apabila ekspresi sesuai dengan

konstanta2 maka pernyataan2, pernyataan3 sampai dengan pernyataanlain

dieksekusi. Untuk mencegah hal tersebut, gunakan keyword break;. Jika

keyword break digunakan maka setelah pernyataan2 dieksekusi program

langsung keluar dari pernyataan switch. Selain digunakan dalam switch,

keyword break banyak digunakan untuk keluar dari pernyataan yang berulang

( looping ).

4. pernyataanlain dieksekusi jika konstanta1 sampai konstantaN tidak ada yang

memenuhi ekspresi.

III. PROSEDUR CARA KERJA DAN CONTOH PROGRAM

Prosedur Cara Kerja : 1. Ketiklah listing program untuk setiap contoh kasus dibawah ini.

2. Kompilasi dan jalankan masing-masing program dibawah ini, kemudian amati dan

cetak outputnya.

3. Kumpulkan hasil cetakan output program di akhir sesi

Contoh Program :

1. Contoh penggunaan if tunggal, mengacu contoh pada modul 2, simpan program

dengan nama Contoh6.cpp

#include <iostream.h> void main(void) { int usia; cout<<"Berapa usia anda : "; cin>>usia; if (usia < 17) cout<<"Anda tidak diperkenankan menonton"; }

Page 56: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 52

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

2. Contoh penggunaan if pilihan ganda, simpan program dengan nama Contoh7.cpp

PERMASALAHAN ( mengacu contoh permasalahan pada modul 2 ): Menentukan apakah bilangan yang dimasukkan merupakan bilangan genap atau

ganjil.

#include <iostream.h> void main(void) { int i,bil; cout<<"Masukkan bilangan yang akan diuji : "; cin>>i; bil = i % 2; if (bil == 0) cout<<endl<<"Bilangan : "<<i<<" adalah "<<"Bilangan genap"; else cout<<endl<<"Bilangan : "<<i<<" adalah "<<"Bilangan ganjil"; }

3. Contoh penggunaan if pilihan jamak, simpan program dengan nama Contoh8.cpp

PERMASALAHAN ( mengacu contoh permasalahan pada modul 2 ): Diketahui perhitungan untuk nilai akhir mahasiswa didapatkan dari rumus

• NA =10% *kehadiran + 30% *(Tugas + UTS + UAS) Mahasiswa akan mendapatkan nilai A apabila NA >= 80 Mahasiswa akan mendapatkan nilai B apabila NA >= 70 Mahasiswa akan mendapatkan nilai C apabila NA >= 60 Mahasiswa akan mendapatkan nilai D apabila NA >=50 Mahasiswa akan mendapatkan nilai E apabila NA <50 #include <iostream.h> void main(void) { float hd, tg, uts, uas, NA; char nh; cout<<"DATA PENILAIAN MAHASISWA "<<endl; cout<<endl<<"Kehadiran : "; cin>>hd; cout<<"Tugas : "; cin>>tg; cout<<"Ujian Tengah Semester : "; cin>>uts; cout<<"Ujian Akhir Semester : "; cin>>uas; NA = 0.1*hd + 0.3*(tg+uts+uas);

Page 57: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 53

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

if (NA >= 80) nh = 'A'; else if (NA >=70) nh = 'B'; else if (NA >=60) nh = 'C'; else if (NA >= 50) nh = 'D'; else nh = 'E';

cout<<"Nilai Angka : "<<NA<<endl; cout<<"Nilai Huruf : "<<nh; }

4. Contoh penggunaan switch, mengacu contoh pada modul , simpan program dengan

nama Contoh9.cpp

#include <iostream.h> void main(void) { char ket[100],nama[100]; char kode; cout<<"Masukkan nama anda : "; cin>>nama; cout<<"Pilih Kode Jurusan di FST : "; cin>>kode; switch (kode) { case 'A' : case 'a' : cout<<"Jurusan Teknik Lingkungan"; break; case 'B' : case 'b' : cout<<"Jurusan Matematika Ps. Statistika"; break; case 'C' : case 'c' : cout<<"Jurusan Matematika Ps. Ilmu Komputer"; break; } }

Page 58: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 54

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

IV. LATIHAN

Berdasarkan permasalahan pada pada minggu 2 buatlah menggunakan aplikasi Turbo C++

V. BAHAN PUSTAKA

Thomas H. Cormen et.al, Introduction to Algorithms Second Edition, MIT Press, McGraw-Hill Book Company, 2001

Simon Harris and James Ross, Beginning Algorithms, Willey Publishing Inc, 2006

Jogianto H.M, Konsep Dasar Pemrograman Bahasa C, Penerbit Andi, 2000

Antonie Pranata, Algoritma dan Pemrograman, J&J Learning Yogyakarta, 2000

Iwan Binanto, Konsep Bahasa Pemrograman, Penerbit Andi Yogyakarta, 2005

Moh. Sjukani, Algoritma dan Struktur Data dengan C, C++, dan Java, Mitra Wacana Media, 2005

Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Penerbit Salemba

Teknika, 2004

Page 59: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 55

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

PERTEMUAN 8 P E R U L A N G A N (LOOPING)

I. TUJUAN DAN SASARAN PERCOBAAN

Setelah mengikuti praktikum ini mahasiswa dapat :

(1) menjelaskan konsep penggunaan struktur perulangan for, whilw dando ..while

minimal untuk membangun program untuk proses looping yang sederhana.

(2) menyelesaikan masalah dengan membangun program menggunakan looping

bertingkat

(3) memahami penggunaan looping for, while, dan do…while, serta dapat memahami

persamaan dan perbedaan antara perintah looping yag satu dengan yang lain.

Sehingga nantinya dapat menyusun sebuah program untuk dapat memilih looping

yang sesuai dengan permasalahan.

II. MATERI POKOK BAHASAN

Sebuah / kelompok instruksi diulang untuk jumlah pengulangan tertentu. Baik yang

terdifinisikan sebelumnya ataupun tidak. Struktur pengulangan terdiri atas dua bagian :

1. Kondisi pengulangan yaitu ekspresi boolean yang harus dipenuhi untuk

melaksanakan pengulangan

2. Isi atau badan pengulangan yaitu satu atau lebih pernyataan (aksi) yang akan

diulang.

Perintah atau notasi dalam struktur pengulangan adalah :

1. Pernyataan while 2. Pernyataan do..while 3. Pernyataan for 4. Pernyataan continue dan break 5. Pernyataan go to

1. STATEMEN PERULANGAN for

Pernyataan for digunakan untuk menghasilkan pengulangan(looping) beberapa kali

tanpa penggunaan kondisi apapun. Pada umumnya looping yang dilakukan oleh for

telah diketahui batas awal, syarat looping dan perubahannya.

Pernyataan for digunakan untuk melakukan looping. Pada umumnya looping yang

Page 60: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 56

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya.

Selama kondisi terpenuhi, maka pernyataan akan terus dieksekusi.

Bentuk Umumnya :

for (inisialisasi; kondisi; perubahan)

2. STATEMEN PERULANGAN while Pernyataan while merupakan salah satu pernyataan yang berguna untuk

memproses suatu pernyataan atau beberapa pernyataan beberapa kali. Pernyataan

while memungkinkan statemen-statemen yang ada didalamnya tidak diakukan sama

sekali.

Bentuk Umumnya :

WHILE (kondisi )

{

Statemen;

}

Keterangan :

Statemen adalah statemen yang diproses berulang

Kondisi adalah syarat supaya proses berulang bisa berlangsung

3. STATEMEN PERULANGAN do … while Pernyataan do…while mirip seperti pernyataan while, hanya saja pada do…while pernyataan yang terdapat didalamnya minimal akan sekali dieksekusi.

Bentuk Umumnya :

do

{

Statemen;

}while ( kondisi )

Keterangan :

Statmen adalah yang diproses berulang

Kondisi adalah supaya proses berulang dihentikan

Page 61: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 57

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

III. PROSEDUR CARA KERJA DAN CONTOH PROGRAM Prosedur Cara Kerja :

1. Ketiklah listing program untuk setiap contoh kasus dibawah ini.

2. Kompilasi dan jalankan masing-masing program dibawah ini, kemudian amati dan

cetak outputnya.

3. Kumpulkan hasil cetakan output program di akhir sesi

Contoh Program : 1. Contoh penggunaan for mengacu pada contoh program pada modul 3, simpan

program dengan nama Contoh10.pas

#include <iostream.h>

void main(void) { int i; for (i=1; i<=5; i++) cout<<"Jurusan Matematika Ps. Ilmu Komputer"<<endl; }

2. Contoh penggunaan while mengacu program pada modul 3, simpan program dengan

nama Contoh11.pas

#include <iostream.h>

void main(void) { int i;

i=1; while (i<=5) { cout<<"Jurusan Matematika Ps. Ilmu Komputer"<<endl; i++; } }

3. Contoh penggunaan do …..while mengacu program pada modul 3, simpan program

dengan nama Contoh12.pas

#include <iostream.h>

void main(void)

Page 62: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 58

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

{ int i; i=1; do { cout<<"Jurusan Matematika Ps. Ilmu Komputer"<<endl; i++; }while (i<=5); }

4. Aplikasi program dengan memakai perulangan bertingkat.Simpan program dengan

nama Contoh13.pas

#include <iostream.h> void main(void) { int i,j; for (i=0; i<=10; i++) { j=0; cout<<endl; while (j<=i) { cout<<i; j++; } } }

IV. LATIHAN

Berdasarkan permasalahan pada pada minggu 3 buatlah menggunakan aplikasi Turbo C++

V. BAHAN PUSTAKA

Thomas H. Cormen et.al, Introduction to Algorithms Second Edition, MIT Press, McGraw-Hill Book Company, 2001

Simon Harris and James Ross, Beginning Algorithms, Willey Publishing Inc, 2006

Jogianto H.M, Konsep Dasar Pemrograman Bahasa C, Penerbit Andi, 2000

Antonie Pranata, Algoritma dan Pemrograman, J&J Learning Yogyakarta, 2000

Page 63: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 59

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Iwan Binanto, Konsep Bahasa Pemrograman, Penerbit Andi Yogyakarta, 2005

Moh. Sjukani, Algoritma dan Struktur Data dengan C, C++, dan Java, Mitra Wacana Media, 2005

Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Penerbit Salemba

Teknika, 2004

Page 64: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 60

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

PERTEMUAN 9 F U N G S I

I. TUJUAN DAN SASARAN PERCOBAAN

Setelah mengikuti praktikum ini mahasiswa dapat

(4) menjelaskan bentuk umum dari fungsi pada aplikasi Turbo C++

(5) menjelaskan perbedaan cara pengiriman data dengan menggunakan parameter

pengiriman

(6) menyelesaikan permasalahan dengan memecah permasalahan dalam bentuk fungsi

yang dapat dipergunakan berulang kali.

II. MATERI POKOK BAHASAN

Fungsi adalah sekumpulan perintah operasi program yang dapat menerima argumen

input dan dapat memberikan hasil output yang dapat berupa nilai ataupun sebuah hasil

operasi. Hasil akhir fungsi akan berupa sebuah nilai balik (return) Nama fungsi yang

didefinisikan sendiri oleh pemrogram tidak boleh sama dengan nama build-in function

pada compiler C++.

Fungsi digunakan agar pemrogram dapat menghindari penulisan bagian program

(kode) berulang-ulang, dapat menyusun kode program agar terlihat lebih rapi dan

kemudahan dalam debugging program. Parameter adalah nama-nama peubah yang

dideklarasikan pada bagian header fungsi. Pemrogram dapat membuat fungsi yang

didefinisikan sendiri olehnya.

Page 65: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 61

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Bentuk umum :

Deklarasi parameter

{

Isi fungsi

}

Sebuah fungsi tidak dapat dipanggil kecuali sudah dideklaraikan, deklarasi fungsi dikenal

dengan sebutan prototipe fungsi. Prototipe fungsi berupa :

1. Nama Fungsi

2. Tipe nilai fungsi

3. Jumlah dan tipe argumen

Dan diakhiri dengan titik koma, sebagaimana pada pendeklarasian variabel. Sebagai

contoh:

1. long kuadrat (long l) ; Pada contoh pertama, fungsi kuadrat ( ) mempunyai argumen bertipe long

dan nilai balik bertipe long.

2. void garis ( );

Pada contoh kedua, fungsi garis ( ) tidakmemiliki argumen dan nilai baliknya

tidak ada (void).

3. double maks (double x, double y)

Pada contoh ketiga, fungsi maks( ) mempunyai dua buah argumen, dengan

masing-masing argumen bertipe double. 1. VARIABEL LOKAL DAN VARIABEL EKSTERNAL 1.1. Variabel Lokal

Variabel lokal adalah variabel yang didefinisikan dalam suatu fungsi tertentu,

sehingga hanya dikenal dalam fungsi tersebut. Dalam hal ini artinya suatu fungsi

tidak akan mengenal variabel lokal dan fungsi lain. Suatu fungsi hanya akan

mengenal variabel yang didefinisikan dalam fungsi yang bersangkutan.

1.2. Variabel Eksternal Variabel eksternal adalah variabel yang bersifat global yang dapat dikenali oleh

seluruh fungsi yang terdapat dalam program tersebut. Seluruh fungsi akan mengenal

variabel yang bersifat eksternal ini. Variabel eksternal dideklarasikan diluar fungsi

dan sejajar dengan prototipe fungsi serta pengarah kompiler.

Page 66: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 62

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

2. PARAMETER Parameter adalah sarana komunikasi antar fungsi. Pengertian antar fungsi adalah

antara fungsi dengan fungsi lain termasuk antara fungsi dengan fungsi utama. Dalam

pemograman yang melibatkan fungsi, diusahakan agar fumgsi bersifat independen

artinya tidak tergantung pada fungsi lain. Setiap fungsi hanya mengerjakan satu

tugas tertentu.

Antar fungsi saling berkomunikasi menggunakan parameter. Terdapat dua macam

bentuk parameter dalam hubungannya dengan penggunan fungsi dalam program

yaitu :

- Parameter Formal :

parameter yang diberi nilai. Parameter formal merupakan parameter yang

terdapat dalam daftar parameter fungsi.

- Parameter Aktual :

parameter yang memberi nilai. Parameter fungsi dan digunakan untuk

memberi nilai pada parameter formal.

Contoh

double hasil(int A, int B) // parameter formal

{

return (A * B);

}

Sedangkan parameter aktual terdapat pada pemanggilan fungsi :

void main()

{ ……………

…………..

z = hasil(x,y); // parameter aktual

…………..

}

Cara melewatkan suatu parameter dalam Bahasa C++ ada dua cara yaitu :

1. Pemanggilan Secara Nilai (Call by Value) a) Call by value akan menyalin nilai dari parameter aktual ke parameter formal.

b) Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori

letak dari datanya.

c) Fungsi yang menerima kiriman nilai akan menyimpannya di alamat terpisah

dari nilai aslinya yang digunakan oleh bagian program yang memanggil

fungsi.

Page 67: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 63

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

d) Perubahan nilai di fungsi (parameter formal) tidak akan merubah nilai asli di

bagian program yang memanggilnya.

e) Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari

bagian program yang memanggil fungsi ke fungsi yang dipanggil.

f) Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak hanya

untuk sebuah variabel, elemen array atau konstanta saja.

2. Pemanggilan Secara Referensi (Call by Reference)

a) Pemanggilan secara Referensi merupakan upaya untuk melewatkan alamat

dari suatu variabel ke dalam fungsi.

b) Yang dikirimkan ke fungsi adalah alamat letak dari nilai datanya, bukan nilai

datanya.

c) Fungsi yang menerima kiriman alamat ini maka menggunakan alamat yang

sama untuk mendapatkan nilai datanya.

d) Perubahan nilai di fungsi akan merubah nilai asli di bagian program yang

memanggil fungsi.

e) Pengiriman parameter secara referensi adalah pengiriman dua arah, yaitu

dari fungsi pemanggil ke fungsi yang dipanggil dan juga sebaliknya.

f) Pengiriman secara acuan tidak dapat bdilakukan untuk suatu ungkapan.

III. PROSEDUR CARA KERJA DAN CONTOH PROGRAM Prosedur Cara Kerja :

1. Ketiklah listing program untuk setiap contoh kasus dibawah ini.

2. Kompilasi dan jalankan masing-masing program dibawah ini, kemudian amati dan

cetak outputnya.

3. Kumpulkan hasil cetakan output program di akhir sesi

Contoh Program : 1. Contoh penggunaan fungsi untuk melakukan proses perkalian Contoh14.cpp

#include <iostream.h> double hasil ( int A, int B); void main(void) { int x,y;

Page 68: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 64

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

double z; cout<<"Masukkan nilai x : "; cin>>x ; cout<<"Masukkan nilai y : "; cin>> y ; z=hasil(x,y); cout<<"Hasil Perkaliannya : "; cout << x << " x " << y << " = "<< z; } double hasil (int A, int B) { return (A * B); }

2. Contoh penggunaan variabel lokal dan eksternal, simpan program dengan nama

Contoh15.cpp

#include <iostream.h> int data = 100; // variabel eksternal void fungsi_satu (); void fungsi_dua (); void main() { int data = 200; //variabel lokal main fungsi_satu (); fungsi_dua (); cout << " Nilai data lokal main = " << data <<endl; } void fungsi_satu() { int data = 300; //variabel lokal fungsi_satu cout<<"Nilai data lokal satu = "<<data<<endl; } void fungsi_dua() { cout<<"Nilai data eksternal = "<<data<<endl; }

Page 69: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 65

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

3. Contoh penggunaan fungsi dengan menggunakan pengiriman secara nilai, simpan

program dengan nama Contoh16.cpp

#include <iostream.h> int tambah(int x); void main() { int a,hasil; cout << " Masukkan Bilangan = " ; cin>>a; cout<<"a awal = "<<a<<endl; hasil = tambah(a); cout<<"a akhir = "<<a<<endl; cout<<"Hasil : "<<hasil; } int tambah(int x) { cout<<"a awal = "<<x<<endl; x = x * 2; cout<<"x akhir = "<<x<<endl; return x; }

4. Contoh penggunaan fungsi dengan pengiriman secara referensi, simpan program

dengan nama Contoh17.pas

#include <iostream.h> int tambah(int &x); void main() { int a,hasil; cout << " Masukkan Bilangan = " ; cin>>a; cout<<"a awal = "<<a<<endl; hasil = tambah(a); cout<<"a akhir = "<<a<<endl; cout<<"Hasil : "<<hasil; } int tambah(int &x)

Page 70: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 66

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

{ cout<<"a awal = "<<x<<endl; x = x * 2; cout<<"x akhir = "<<x<<endl; return x; }

IV. LATIHAN

Mengacu pada permasalahan pada pada minggu 4, diketahui informasi masukan berupa

data NIP, Nama, Kode Golongan

Kode golongan akan menentukan gaji pokok untuk setiap karyawan dengan ketentuan

sebagai berikut :

Kode Golongan Gaji Pokok

A 600.000

B 700.000

C 800.000

D 900.000

Ketentuan yang berlaku adalah sebagai berikut :

• Gaji bersih = gaji pokok + tunjangan

• Tunjangan = 10% dari gaji pokok

Buatlah program dalam bentuk fungsi sebagai berikut :

• Fungsi untuk input data

• Function untuk menentukan gaji pokok

• fungsi untuk menampilkan data

V. BAHAN BACAAN

Thomas H. Cormen et.al, Introduction to Algorithms Second Edition, MIT Press, McGraw-Hill Book Company, 2001

Simon Harris and James Ross, Beginning Algorithms, Willey Publishing Inc, 2006

Jogianto H.M, Konsep Dasar Pemrograman Bahasa C, Penerbit Andi, 2000

Antonie Pranata, Algoritma dan Pemrograman, J&J Learning Yogyakarta, 2000

Iwan Binanto, Konsep Bahasa Pemrograman, Penerbit Andi Yogyakarta, 2005

Page 71: Modul Praktikum Algoritma

Algoritma & Pemrograman S1 - 67

Selamat Belajar & Berlatih, Sukses Untuk Anda, Laboratorium Komputer III – by Emy

Moh. Sjukani, Algoritma dan Struktur Data dengan C, C++, dan Java, Mitra Wacana Media, 2005

Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Penerbit Salemba

Teknika, 2004