modul praktikum algoritma
Post on 26-Dec-2015
97 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
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
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
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.
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.
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:
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.
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.
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.
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
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.
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.
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
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 :
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
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 )
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.
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)
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;
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;
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.
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.
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.
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.
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'
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;
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.
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
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.
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
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.
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.
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
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 |');
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;
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 :
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.
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;
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 (;)
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.
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;
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);
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);
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
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.
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
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
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
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
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"; }
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"; }
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
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;
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
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"; }
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);
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; } }
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
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
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
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)
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
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
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.
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.
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.
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;
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; }
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)
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
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
top related