WEB BLOG
this site the web

pemrograman modular








BAB IV Pemrograman Modular



4.1 Tujuan Praktikum
1. Memahami dasar-dasar pemrograman Pascal.
2. Memahami konsep variabel lokal dan variabel global dalam pemrograman.
3. Memahami konsep fungsi dan prosedur dalam pemrograman modular.
4. Memahami konsep passing by value dan passing by reference dalam pemrograman dengan fungsi maupun prosedur.
5. Memahami pengaplikasian pemrograman modular pada Bahasa Pascal.

4.2 Tinjauan Pustaka
Pemrograman modular merupakan salah satu kemudahan yang diberikan oleh bahasa pemrograman Pascal terhadap programmer, karena di sini programmer dapat membagi program yang sedang dibuatnya ke dalam modul-modul program tertentu. Sehingga dapat menghindari penulisan teks program yang sama berkali-kali dan dapat juga memudahkan dalam melakukan pelacakan kesalahan dalam program yang sedang dibuatnya. Teknik pemrograman modular dengan subrutin pertama kali diperkenalkan pada era awal 1950-an.
Programer komputer dari EDSAC, David Wheeler, mengembangkan dua kontribusi dalam pemrograman komputer pada era awal 1950-an. wheeler memperkenalkan baris kode program yang dapat digunakan berulang-ulang ( reusable ). Dia membuat subrutin yang disimpan dalam library yang terpisah agar dapat digunakan sewaktu-waktu saat subrutin tersebut dibutuhkan.
Wheeler juga mengembangkan "Wheeler Jump" yang memungkinkan sebuah program melewatkan kontrol ( melompat ) dari subrutin yang satu ke yang lainnya. Pengaplikasian "Wheeler Jump" yang kita kenal saat ini diterapkan pada bahasa pemrograman adalah perintah "Goto". Ada 2 jenis variable yaitu :

4.2.1 Variabel Global
Variabel eksternal merupakan variabel yang dideklarasikan di
luar fungsi. Karakteristiknya adalah sebagai berikut :
a. dapat diakses oleh semua fungsi
b. kalau tak diberi nilai, secara otomatis diinisialisasi dengan nilai sama
dengan nol.
c. Variabel eksternal haruslah dideklarasikan sebelum definisi dari fungsi yang akan mempergunakannya.
d. Untuk memperjelas bahwa suatu variabel dalam fungsi merupakan variabel eksternal, di dalam fungsi yang menggunakannya dapat mendeklarasikan variabel itu kembali dengan menambahkan kata kunci extern di depan tipe data variabel.

4.2.2 Variabel lokal
Variabel local adalah variabel yang dideklarasikan dalam sebuah fungsi. Karakteristik variabel lokal adalah sebagai berikut :
a. secara otomatis diciptakan ketika fungsi dipanggil dan akan sirna (lenyap) ketika eksekusi terhadap fungsi berakhir.
b. Hanya dikenal oleh fungsi tempat variabel tersebut dideklarasikan
c. Tidak ada inisialisasi secara otomatis (saat variabel diciptakan, nilainya tak menentu).
d. Dalam banyak literatur, variabel lokal disebut juga dengan variabel otomatis, sehingga bisa dideklarasikan dengan menambahkan kata kuci auto di depan tipe-data variabel.

Ada 2 jenis pemograman modular yang dibahas dalam praktikum ini, yaitu :
4.2.2.1 Procedure
Untuk mempermudah mengembangkan program, aplikasi yang besar dapat dipecah menjadi segmen kode yang lebih kecil atau disebut prosedur. Contohnya adalah penanganan event mouse seperti, mouse over, klik, klik ganda dan klik mouse kanan. Masing-masing tugas ditampilkan pada prosedur yang terpisah yang ditulis dan diuji secara terpisah satu dengan lainnya. Prosedur juga digunakan untuk penerapan tugas yang diulang-ulang seperti perhitungan yang sering digunakan. Konsep Prosedur (procedure) adalah serangkaian statemen yang digunakan untuk memecahkan sebuah masalah. Seperti fungsi, prosedur juga mempunyai nama dan parameter.
Prosedur harus dideklarasikan terlebih dahulu sebelum dipanggil atau digunakan. Pascal juga menyediakan beberapa prosedur built-in yang langsung digunakan, misalnya inc dan dec, yang masing-masing digunakan untuk menambahkan dan 1 pada sebuah integer yang menjadi parameternya. Untuk mempermudah mengembangkan program, aplikasi yang besar dapat dipecah menjadi segmen kode yang lebih kecil atau disebut prosedur. Dengan kata lain prosedur merupakan suatu bagian yang digunakan untuk mengenali subprogram di dalam suatu program.
Ada dua tipe prosedur yang akan dibahas dalam bagian ini yaitu subrutin dan fungsi. Subrutin dan fungsi merupakan bagian dari kode yang akan mengerjakan tugas tertentu dan dapat dipanggil dari berbagai bagian aplikasi untuk melakukan operasi yang sama, biasanya pada data yang berbeda. Perbedaan keduanya kalau fungsi return value/mengembalikan nilai sedangkan subrutin tidak.
1. Subrutin
Subrutin adalah blok pernyataan untuk mengerjakan suatu tugas yang didefinisikan dengan baik. Blok pernyataan diletakkan di antara pernyataan Sub...End Sub. Subrutin dapat dipanggil melalui namanya. Contoh subrutin berikut akan menampilkan suatu pesan pada kotak pesan.
a. Sub Pesan()
b. MsgBox(“Belajar VB, siapa takut!”)
c. End Sub
Kebanyakan prosedur disertai dengan argumen. Subrutin TampilkanTgl() berikut akan menampilkan tanggal sekarang pada kotak pesan. Jika anda ingin menampilkan tanggal lainnnya Anda dapat mem-passing-kan (meneruskan) argumen dengan nilai yang berbeda:
a. Sub TampilkanTgl(ByVal TglLahir As Date)
b. MsgBox(TglLahir)
c. End Sub
TglLahir adalah variabel yang menangani tanggal yang akan ditampilkan dengan tipe Date. Kata kunci ByVal artinya subrutin tidak dapat mengubah nilai dari variabel TglLahir. Untuk memanggil subrutin TglLahir ketik kode berikut di dalam program anda: Call TampilkanTgl(Date) ‘Ditampilkan tanggal sistem dalam kotak pesan. Untuk menampilkan tanggal lain, Anda dapat memasukkan nilainya dengan Call TampilkanTgl(#12/23/1963#).
Aturan penulisan deklarasi prosedur adalah :


Procedure nama-prosedur (parameter input ; var parameter output);
Begin
{statemen-statemen implementasi prosedur (badan prosedur), hasil perhitungan yang dilakukan prosedur (ika ada), disimpan pada parameter output}
End;

Pemanggilan Procedure :
Suatu procedure bukan merupakan program yang berdiri sendiri sehingga tidak dapat dieksekusi secara langsung. Untuk itu suatu procedure memerlukan sebuah akses pada program utama / modul lain yang befungsi sebagai pemanggil. Sedangkan cara pemanggilannya adalah dengan : menuliskan nama procedurenya berikut parameternya (jika ada).

4.2.2.2 Fungsi
Konsep fungsi (function) dalam Pascal hampir sama dengan konsep fungsi dalam matematika. sebuah fungsi digunakan untuk menghitung sebuah nilai berdasar satu atau beberapa nilai masukan. Sebuah fungsi tersebut harus dideklarasikan atau didefinisikan terlebih dahulu sebelum dipanggil atau digunakan. Suatu fungsi adalah blok kode yang dapat dipanggil untuk mengerjakan suatu tugas tertentu dan menghasilkan nilai kembalian..
Pascal juga menyediakn beberapa fungsi yang dapat langsung digunakan tanpa dibuat terlebih da­hulu (built-in function). Dengan kata lain fungsi merupakan suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian program yang dijalankan.
Fungsi mirip dengan subrutin, bedanya fungsi menghasilkan return value/mengembalikan nilai. Suatu fungsi adalah blok kode yang dapat dipanggil untuk mengerjakan suatu tugas tertentu dan menghasilkan nilai kembalian.
a. Passing Parameter
Pada VB 6 parameter dipassing- kan (diteruskan) ke fungsi. Default-nya adalah passing parameter melalui referensi (ByRef). Ada dua metode passing parameter yaitu melalui nilai/value (ByVal) artinya semua perubahan yang dibuat ke nilai parameter hanya efektif dalam fungsi yang memanggil. Nilai asli sekarang dalam fungsi yang dipanggil tidak terpengaruh. Sedangkan pada passing parameter melalui referensi (ByRef), jika parameter di dalam fungsi berubah, perubahan juga dicerminkan di luar fungsi.
b. Fungsi Built-in VB 6
Berikut adalah beberapa daftar fungsi built-in bawaan VB 6
1. Fungsi Konversi Type Data
Tabel 4.1 Fungsi untuk konversi antara type data ke type data lainnya
Nama Fungsi
Penjelasan
Cbool
Konversi argument ke tipe data Boolean
Cbyte
Konversi argument ke tipe data Byte
Ccur
Konversi argument ke tipe data Currency
Cdate
Konversi argument ke tipe data Tanggal
Cdbl
Konversi argument ke tipe data Double
Cdec
Konversi argument ke tipe data Decimal
Cint
Konversi argument ke tipe data Integer
CLng
Konversi argument ke tipe data Long
Csng
Konversi argument ke tipe data Single
Cstr
Konversi argument ke tipe data String

2. Fungsi Konversi String

Tabel 4.2 Fungsi untuk konversi dari dan ke tipe string
Nama Fungsi
Penjelasan
Cstr
Merubah argument ke tipe string
Str
Merubah argument numerik ke tipe string
Val
Merubah argument string ke tipe numerik




3. Fungsi ASCII
Tabel 4.3 Fungsi untuk konversi string dari dan ke nilai ASCII nya
Nama Fungsi
Penjelasan
Chr
Merubah dari ASCII ke String
Asc
Merubah argument string ke bentuk ASCII
4. Fungsi SubString String
Tabel 4.4 Fungsi untuk mengambil bagian dari string
Nama Fungsi
Penjelasan
Mid
Mengambil bagian string dari posisi ke i sebanyak n charakter
Left
Mengambil bagian string dari kiri sebanyak n karakter
Right
Mengambil bagian string dari kanan sebanyak n karakter




5. Fungsi Konversi Ke Huruf Besar dan Kecil
Tabel 4.5 Fungsi untuk konversi string ke huruf besar dan huruf kecil
Nama Fungsi
Penjelasan
Ucase
Merubah argument string menjadi huruf besar semua
Lcase
Merubah argument string menjadi huruf kecil semua

6. Fungsi Trimming dan pengaturan String
Tabel 4.6 Fungsi untuk menghilangkan spasi kosong di sekitar argument string
Nama Fungsi
Penjelasan
Ltrim
Menghilangkan spasi di depan argument string
Rtrim
Menghilangkan spasi di belakang argument string
Trim
Menghilangkan spasi di depan dan belakang argument string

7. Fungsi Aritmatika Waktu untuk perbandingan Waktu
Tabel 4.7 Fungsi untuk mengoperasikan waktu
Nama Fungsi
Penjelasan
DateAdd
Menghasilkan waktu baru setelah ditambahkan dengan nilai tertentu
DateDiff
Menghasilakan perbedaan antara dua waktu
DatePart
Mengambil bagian dari waktu





Aturan penulisan deklarasi fungsi adalah :
Function nama-fungsi (parameter) : tipe-hasil;
Begin
Nama-fungsi := nilai yang dikirimkan/hasil;
End;

Kode program 4.1 deklarasi fungsi

4.2.3 Perbedaan Fungsi dan Prosedur
1. Fungsi dapat mengembalikan suatu nila yang dapat digunakan dalam ekspresi, sedangkan prosedur tidak memiliki nilai yang berhubungan dengan namanya.
2. Fungsi digunakan untuk membuat operasi-operasi yang tidak ada dalam fungsi utama, sedangkan prosedur digunakan untuk menstrukturkan suatu program dan untuk untuk memperbaiki kejelasan da keumumannya.

4.2.3.1 Aplikasi fungsi pada program pascal :
program fungsi_persegi_panjang;
uses crt;

function luas(p,l:integer):integer;
begin
luas:=p*l;
end;

function kel(p,l:integer):integer;
begin
kel:=2*(p+l);
end;
var
p,l:integer;
begin
clrscr;
writeln('program untuk menghitung luas dan keliling persegi panjang');
writeln;
write('masukan panjang : ');
readln(p);
writeln;
write('masukan lebar : ');
readln(l);
writeln;
write('luasnya : ',luas(p,l));
writeln;
write('kelilingnya : ',kel(p,l));
end.
Kode program 4.2 aplikasi fungsi pascal

4.2.3.2 Aplikasi prosedur dalam pascal

uses crt;
var
p,l,luas,kel:integer;

procedure hitung_luas;
begin
luas:=p*l;
writeln('luas : ',luas);
end;

procedure hitung_keliling;
begin
kel:=2*(p+l);
writeln('keliling : ',kel);
end;

begin
clrscr;
writeln('program untuk menghitung luas dan keliling persegi panjang');
writeln;
write('masukan panjang : ');
readln(p);
writeln;
write('masukan lebar : ');
readln(l);
writeln;
hitung_luas;
hitung_keliling;
end.

Kode program 4.3 Aplikasi prosedur dalam pascal

4.2.4.1 Pemanggilan Secara Nilai (‘Pass by Value’)
Call by value akan menyalin nilai dari parameter aktual ke parameter formal.
Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori letak dari datanya.
Fungsi yang menerima kiriman nilai akan menyimpannya di alamat terpisah dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi.
Perubahan nilai di fungsi (parameter formal) tidak akan merubah nilai asli di bagian program yang memanggilnya.
Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian program yang memanggil fungsi ke fungsi yang dipanggil.
Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak hanya untuk sebuah variabel, elemen array atau konstanta saja.
4.2.4.2 Pemanggilan Secara Referensi (‘Pass by Reference’)
Pemanggilan secara Referensi merupakan upaya untuk melewatkan alamat dari suatu variabel ke dalam fungsi.
Yang dikirimkan ke fungsi adalah alamat letak dari nilai datanya, bukan nilai datanya.
Fungsi yang menerima kiriman alamat ini makan menggunakan alamat yang sama untuk mendapatkan nilai datanya.
Perubahan nilai di fungsi akan merubah nilai asli di bagian program yang memanggil fungsi.
Pengiriman parameter secara referensi adalah pengiriman dua arah, yaitu dari fungsi pemanggil ke fungsi yang dipanggil dan juga sebaliknya.
Pengiriman secara acuan tidak dapat bdilakukan untuk suatu ungkapan.
 

W3C Validations

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi dapibus dolor sit amet metus suscipit iaculis. Quisque at nulla eu elit adipiscing tempor.

Usage Policies