Laporan Hasil Alpro Modul Vi

30
LAPORAN HASIL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 1 NAMA : ALI FAHRUDDIN NIM : DBC 113 046 KELAS : G MODUL : VI (PROSEDUR DAN FUNGSI)

description

(PROSEDUR DAN FUNGSI)

Transcript of Laporan Hasil Alpro Modul Vi

BAB I

LAPORAN HASIL PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN 1

NAMA: ALI FAHRUDDIN

NIM

: DBC 113 046

KELAS: G

MODUL: VI (PROSEDUR DAN FUNGSI)JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS PALANGKA RAYA

2013BAB ITUJUAN DAN LANDASAN TEORI1.1Tujuan Praktikum1. Dapat memahami konsep prosedur dan fungsi2. Mampu membuat prosedur dan fungsi baik dengan parameter maupun tanpa parameter3. Mampu membedakan kapan menggunakan prosedur dan fungsi1.2 Landasan TeoriProsedur dan Fungsi

Di dalam dunia pemrograman untuk membuat suatu program yang besar, maka program tersebut perlu disusun dari subprogram yang kecil-kecil. Setiap subprogram terkadang dapat berdiri sendiri dari program utama dan tiap subprogram itu disebut sebagai modul program.di dalam pemrograman pascal ada 2 jenis modul yang sering digunakan yaitu prosedur(procedure) dan fungsi(function). Dengan adanya modul dalam suatu program memberikan dua kweuntungan ,pertama untuk menghindari penulisan teks program yang sama secara berulang kali, kita cukup menuliskan modul progrma sekali saja,setelah itu kita dapat mengakses (memanggil) modul program itu lebih dari satu kali, sesuai dengan kebutuhan program itu sendiri,jadi,penggunaan modul program dapat mengurangi panjangnya program.A. Prosedur

prosedur adalah modul program yang mengerjakan aktivitas / tugas secara khusus dan menghasilkan suatu efek tertentu. Dalam prosedur juga kita perlu mendefinisikan variabel yang akan digunakan dalam prosedur tersebut. Variabel pada prosedur ini bersifat lokal,artinya variabel dalam prosedur ini hanya berlaku dalam operasi pada prosedur yang mendeklarasikan variabel tersebut.berikut contoh pendeklarasian suatu prosedur.Prosedur merupakan suatu program yang terpisah dalam blok sendiri yang berfungsi sebagai sub-program (modul program) yang merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan program utama. Procedure berguna untuk mengumpulkan statemen-statement (Pernyataan) yang dapat dijalankan menjadi satu dalam blok dan untuk menjalankan kembali hanya dengan menuliskan nama procedure yang menampungnya, yaitu pemanggilan dilakukan pada program utama.

STRUKTUR PROCEDURE : JUDUL (header) -->nama prosedur dan deklarasi parameter(kalau ada) DEKLARASI --> mengumumkan nama-nama dan tipe data ALGORITMA --> badan prosedur (instruksi)NOTASI ALGORITMA UNTUK PROCEDURE :Procedure NamaProsedur(deklarasi parameter, jika ada){spesifikasi prosedur, berisi penjelasan tentang apa yg dilakukan oleh prosedur ini.Kondisi awal : keadaan sebelum prosedur dilaksanakan.Kondisi akhir : keadaan setelah prosedur dilaksanakan}DEKLARASI{semua nama yg dipakai di dalam prosedur dan hanya berlaku lokal di dalam prosedur ini}ALGORITMA{badan prosedur, berisi urutan instruksi}

PENGGUNAAN/PEMANGGILAN PROCEDURE : Prosedur bukan program yg beridiri sendiri Prosedur tidak dapat dieksekusi secara langsung. Instruksi-instruksi di dalam prosedur dapat dilaksanakan bila prosedur itu diakses. Prosedur diakses dg cara memanggil namanya dari program pemanggil (misalnya dari program utama atau modul program lainnya) Jika prosedur tanpa parameter, maka pemanggilannya cukup dg nama prosedurnya saja,

Selain itu procedure yang banyak dipakai untuk menampung baris-baris perintah yang sering dipakai dalam sebuah program. Untuk mendeklarasikan procedure dapat dilakukan dengan dua cara : Header Procedure tanpa parameter Header Procedure dengan menggunakan parameter1. Header Procedure tanpa parameteryaitu penulisannya diawali dengan kata baku procedure dan diikuti dengan nama procedure serta diakhiri dengan tanda titik koma (;).Bentuk Umum : Procedure Example : Procedure makcumabdu;

Procedure kampret;

Contoh Programnya :uses wincrt;varkol,bar,has1,has2:integer;procedure tabel;beginhas1:= kol+bar;has2:= kol*bar;writeln('Kolom + Baris = ',has1);writeln('Kolom * Baris = ',has2);end;begingotoxy(21,2); writeln('Contoh Program Procedure Tanpa Parameter');gotoxy(21,3); writeln('----------------------------------------');write('Masukkan Jumlah Kolom = '); readln(kol);write('Masukkan Jumlah Baris = '); readln(bar);tabel;end.Output Program :

2. Header Procedure Dengan Menggunakan parameterYaitu penulisannya hampir sama denganProcedure tanpa parameter. yaitu diawali dengan kata baku procedure, lalu diikuti dengan parameter-parameter (yang berada didalam kurung) yang masing-masing dipisahkan dengan koma beserta dengan tipenya yang dipisahkan dengan titik dua (:) serta diakhiri dengan tanda titik koma (;).

Bentuk Umum : Procedure ();Example : Procedure makcumabdu(nim:integer; nama:string); Procedure kampret(jos,jis:real);Contoh Programnya :uses wincrt;varkol,bar,has1,has2:integer;procedure tabel(a,b:integer);beginhas1:= kol+bar;has2:= kol*bar;writeln('Kolom + Baris = ',has1);writeln('Kolom * Baris = ',has2);end;begingotoxy(21,1); writeln('****************************************');gotoxy(21,2); writeln('*Contoh Procedure Menggunakan Parameter*');gotoxy(21,3); writeln('*--------------------------------------*');gotoxy(21,4); writeln('****************************************');write('Masukkan Jumlah Kolom = '); readln(kol);write('Masukkan Jumlah Baris = '); readln(bar);tabel(kol,bar);end.

Output Programnya :

CONTOH KASUS :Buatlah program dengan memanfaat Procedure untuk kasus Penilaian dengan kreteria Tugas 30%, UTS 30% dan UAS 40%.Programnya:uses wincrt;vara,b,c,d:real;procedure nilai;begind:= ((a*0.3) + (b*0.3) + (c*0.4));write(d:2:2);end;beginwrite('Masukkan Nilai Tugas Anda : ');readln(a);write('Masukkan Nilai UTS Anda : ');readln(b);write('Masukkan Nilai UAS Anda : ');readln(c);write('Nilai Anda : ');nilai;end.

Output Program :

B. Fungsi

Fungsi merupakan bagian yang terpisah dan mirip dengan prosedur, namun ada perbedaannya. Kata Fungsi mengawali bagian deklarasi fungsi diikuti oleh identifier yang merupakan nama dari fungsinya dan secara optional dapat diikuti oleh kumpulan paramter, tipe dari fungsinya dan diakhiri dengan titik koma.

Fungsi tidak jauh berbeda dengan prosedur, yaitu suatu modul program terpisah dari progam utama yang diletakan dalam blok tersendiri yang berfungsi sebagai bagian dari program. Namun fungsi memiliki perbedaan mendasar dengan prosedur yaitu : fungsi memberikan nilai balik (return) sedangkan prosedur tidak.

Sama seperti prosedur, untuk mengakses setiap Fungsi kita harus memanggil namanya. Fungsi juga dapat memiliki parameter, tetapi parameter yang terdapat dalam fungsi selalu merupakan parameter masukan (input parameter). Tipe hasil di dalam suatu fungsi merupakan tipe nilai balik (return) yang diberikan oleh fungsi.Cara Penulisan Function Nama_Fungsi(param_formal:tipe_param,...):tipe_hasil; var {bagian deklarasi fungsi, sifatnya lokal}

begin

statement-1;

statement-2; Statement-n;

Nama_Fungsi:=hasil;

end;

Blok pada function hampir sama dengan blok pada procedure, hanya pada function harus dideklarasikan dengan tipe dari function tersebut yang merupakan tipe hasil dari function itu sendiri. Sehingga dikatakan function dapat mengembalikan nilai.Perbedaan fungsi dengan prosedur adalah: Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya(kalau pada prosedur parameter yang dikirimkan secara acuan). Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya. Atau nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variabel yang lainnya.

Pada prosedur, nama prosedur tidak dapat digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik.Contoh program function :Uses crt;Function faktor(bilangan :integer) : real;BeginIf bilangan = 0 then faktor := 1ElseFaktor := faktor(bilangan-1)*bilangan;End;Varn : integer;beginclrscr;write(Berapa Faktorial Dari = ); readln(n);writeln(n, faktorial = , faktor(n):9:0);readln;end.Contoh

Buatkan program menggunkan fungsi untuk menghitung volume suatu balok jika volume balok dihitung dengan rumus volume=p*l*t? Program fungsi;

uses wincrt;

var

pjg,lbr,tinggi:integer;

function volume(p,l,t :integer) :integer;

begin

volume:=p*l*t;

end;

begin

writeln('***FUNGSI PADA PASCAL***');

writeln('------------------------------');

writeln('masukan nilai panjang: ');

readln(pjg);

writeln('masukan nilai lebar: ');

readln(lbr);

writeln('masukan nilai tinggi: ');

readln(tinggi);

writeln('volume kotak: ',volume(pjg,lbr,tinggi));

writeln('------------------------------');

writeln('------------------------------');

end. BAB IILANGKAH KERJA1. Buatlah program dengan menggunakan prosedur untuk menghitung luas persegi panjang tanpa parameter masukan. Simpan file dengan nama NamaAnda_prosedur1.pas2. Modifikasi program diatas dengan menggunakan parameter masukan simpan dengan nama NamaAnda_prosedur2.pas3. Modifikasi program diatas dengan menggunakan parameter keluaran simpan file dengan nama NamaAnda_prosedur3.pas4. Modifikasi program prosedur3 anda dengan menggunakan fungsi.Tugas

1. Tulislah prosedur yang menghasilkan nilai rata-rata sekumpulan bilangan bulat yang dibaca secara berulang-ulang dari piranti masukan (akhir dari pembacaan adalah 9999). Prosedur memiliki parameter keluaran, yaitu nilai rata-rata yang dihasilkan.2. Modifikasi tugas 1 dengan menggunakan fungsi.BAB IIIPEMBAHASAN

Langkah 1Dalam program pertama kita dapat membuat program prosedur tanpa menggunakan parameter, keuntungan menggunakan prosedur kita dapat memanggil prosedur sewaktu waktu digunakan dan hanya menuliskan satu kali dalan prosedur tersebut.Kita dapat menuliskan algoritmanya

NOTASI ALGORITMA UNTUK PROCEDURE :Procedure Luas_persegi {menghitung luas persegi panjang dari input panjang dan lebar yang dimasukkan}Kondisi awal : keadaan sebelum prosedur dilaksanakan.Kondisi akhir : keadaan setelah prosedur dilaksanakan}DEKLARASIp: integer { panjang yang diinputkan}l: integer { lebar yang di inputkan }luas: integer { hasil output }ALGORITMA

Kita untuk menuliskan program luas persegi panjang kita memerlukan 3 buah variabel yaitu panjang ( p ) dan luas ( l ) digunakan untuk input, sedanggkan Luas untuk hasil output

Kita menggunakan nama prosedur Luas_Persegi yang digunakan untuk memanggil prosedur yang dipakai dan tidak usah menuliskan lagi dalam program utama.

Dalam prosedur dibawah nama prosedur yang merupakan bagian prosedurnya yang digunakan untuk pemanggilan sewaktu-waktu dipakai

Dalam program utama kita tidak usah menuliskan rumus luas persegi panjang karena kita sudah menuslikan dalam prosedur dan kita langsung saja memanggilnya apabila ingin memakainya hanya dengan menuliskan nama prosedurnya

langkah 2Dalam program kedua kita dapat menuliskan prosedur dengan menggunakan parameter masukkan, masukkan kita gunakan adalah panjang ( p ) dan lebar ( l ). Program kedua sama dengan pada program yang kedua tetapi kita menuliskan parameter masukkan pada program kedua. Untuk menuliskan parameter masukkan kita tuliskan didalam kurung variabel masukkan yang kita gunakan beserta tipe data yang dipakai, penulisannya setelah nama prosedur.

Dan pada pemanggilan prosedur pada program utama kita menuliskan nama prosedur ditambah variabel masukkan yang dimasukkan kedalam kurung.

Langkah 3

Dalam program ketiga kita juga dapat menuliskan prosedur dengan menggunakan parameter keluaran yang kita tulis setelah nama prosedur dengan diapit oleh kurung.

Penulisan parameter keluaran kita tulis didalam kurung setelah nama prosedur kita, keluaran kita adalah luas dan bertipe data integer, tetapi kita juga harus menuliskan Var menghasilkan output yang benar, apabila kita menuliskan Var maka program kita akan menghasilkan Output yang salah.

Untuk pemanggilan prosedur menggunakan parameter keluaran kita harus menuliskan nama prosedur tersebut dan variabel keluaran yang diapit kurung dan diakhiri dengan tanda titik koma

Langkah 4

Dalam fungsi sebenarnya sama dengan prosedur hanya saja tulisannya diganti Function dan memakai titik dua ( : ) kemudian tipe data dan di akhiri dengan menggunakan titik koma ( ; ). Dalam penulisan Fungsi kita megunakan nama fungsi yang digunakan seperti prosedur yang kita gunakan tapi kita harus menambahkan tanda titik dua dan tipe data yang digunakan kemudian diakhiri dengan titik koma

Pada program utama dalam pemanggilan fungsi kita tuliskan nama funsi dan kemudian variabel yang kita gunakan

TUGAS 1

Untuk membuat prosedur yang menghasilkan nilai rata-rata sekumpulan bilangan bulat yang dibaca secara berulang-ulang dari piranti masukan kita menggunakan pengulangan Repeat..Until untuk menggulang masukkan yang diberikan secara berulang-ulang dan apabila sudh sesesai/pemberhentian penginputan maka diketahui rata-ratanya

Kita menggunakan variabel dalam prosedur adalah untuk rumus repeat..until

Untuk prosedurnya kita gunakan repeat until untuk menuliskan beberapa kali dan jika ditekan T maka proses akan berhenti dan kita akan mendapatkan hasil dari masukkan yang kita berikan dan kemudian didapat nilai rata-ratanya

Dan untuk program utamanya kita gunakan langsung prosedur dengan nama rata-rata langsung untuk memanggilnya

TUGAS 2Seperti program diatas tetapi kita gunakan fungsi dalam pemanggilannya

Kita gunakan nama fungsi dengan Rata2

Untuk pembuatan rumus fungsi kita gunakan repeat until seperti program pertama tadi

Untuk mengakhiri masukkan kita gunakan until T untuk menutup masukkan dan menghasilkan rata_rata

Kita mengunakan rumus untuk menghitung rata rata yaitu semua jumlah masukkan dibagi berapa kali masukkan diberikan

Untuk menampilkan hasil kita gunakan instruksi

Setelah prosedur kita buat selesai maka kita harus membuat program utama dan memanggil prosedur untuk menghasilkan data yang diinginkan

Maka outputnya adalah

Kita masukkan angka 75 dan jkita disuruh melanjutkan masukkan lagi atau tidak, kita tekan y untuk melanjutkan inputan

Kita masukkan nilai kedua yaitu 90 dan mengakhirinya dengan menekan T

Dan akhirnya kita mendapat hasil rata-ratanya yaitu 82,50BAB IVKESIMPULAN1. Subprogram merupakan suatu teknik untuk menulis program yang berukuran besar. Tiap bagian program yang kecil-kecil disebut subprogram atau module, yang berguna untuk melakukan suatu tugas tertentu. 2. Subprogram yang kita ketahui dan biasa digunakan adalah Prosedur dan Fungsi. 3. Prosedur adalah kumpulan program kecil yang dikumpulkan untuk mempermudah pekerjaan pembuatan program karena dapat dipakai berkali-kali tanpa harus menuliskan ulang kodenya lagi. 4. Fungsi merupakan elemen dalam pernyataan penugasan atau suatu ungkapan yang digunakan untuk memperoleh sebuah nilai. Fungsi tidak dapat berdiri sebagai sebuah pernyataan. 5. Perbedaan fungsi dan prosedur antara lain dalam hal pengembalian nilai. Fungsi dipastikan mengembalikan nilai yang diinputkan dari program utama karena nama fungsi itu sendiri dijadikan variable. Namun, prosedur memerlukan parameter lagi untuk dapat mengembalikan nilai yang diinputkan tersebut. 6. Cara membuat suatu variable dapat dilakukan dengan cara : Mendeklarasikan variable tersebut di program induk ataupun membuat pendefenisian variable sendiri. Dengan mendefesikan variable tersebut di dalam prosedur . 7. Pendefenisian function pada suatu program ini berarti bahwa nama fungsi yang didefenikan adalah pada baris pertama yang berarti integer. Isi fungsi cukup untuk disingkat yaitu memberikan nilai fungsi tersebut dengan jumlah yang telah ditentukan pada programnya.BAB VDAFTAR PUSTAKA http://semutlewat.blogspot.com/2012/12/prosedur-dan-fungsi-pada-turbo-pascal.html http://sangwidy.wordpress.com/web-design/oop-1/sub-routinction-function-voidfunction/procedure-dan-fungsi-pada-pascal/ http://pionermediacomputer.com/berita-126-function-dalam-pascal-algoritma.html http://irpantips4u.blogspot.com/2012/10/prosedur-dan-fungsi-pada-bahasa.htmlBAB VILAMPIRAN Langkah 1Input

Output

Langkah 2Input

Output

Langkah 3Input

Output

Langkah 4Input

Output

Tugas 1Input

Output

Tugas 2

Input

Output

Nama prosedur

Program utama