4.1 Struktur Rancangan Puncak-Turun dengan Procedure

dokumen-dokumen yang mirip
PROSEDUR. Mahasiswa dapat memahami penggunaan prosedur. Mahasiswa dapat membuat prosedur. Mahasiswa dapat memahami variabel lokal dan variabel global

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 PROCEDURE DAN FUNCTION

Minggu ke : 4 Penyusun : Dian Usdiyana Rini Marwati Materi : 4. Pernyataan Kondisional 4.1 If then. 4.2 If. then.else..

PROSEDUR DENGAN PARAMETER. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter.

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 STRUKTUR KEPUTUSAN-1

Minggu ke : 7. Bentuk umum : While <kondisi> do <Pernyataan>

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 TIPE DATA DAN VARIABEL

For <pencacah> := <nilaiawal> to <nilaiakhir> do <pernyataan>

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 LOGIKA PERULANGAN-1

Delphi 7. Merencang Program dengan Fungsi IF. Ketentuan Soal : 1. Jabatan : JABATAN GAJI POKOK Direktur Manager Staff

1 Latihan 6 Ketentuan Soal:

Pengenalan Borland Delphi 7.0

URAIAN POKOK PERKULIAHAN. (1) Nilai akar-akar, x 1 dan x 2, dapat ditentukan dengan menggunakan rumus:

MODUL 2 EVEN, VARIABEL DAN FUNGSI KONVERSI

1. Menggambar ANAK PANAH. Setelah kita RUN dan saya klik button ANAK PANAH maka akan muncul gambar anak panah seperti nampak pada gambar dibawah ini

URAIAN POKOK PERKULIAHAN

PERCOBAAN 4 GRAFIKA KOMPUTER DENGAN DELPHI

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ExtDlgs, TeeProcs, TeEngine, Chart,

Borland Delphi 7. Created By 1

ALGORITMA PENCARIAN. c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian.

STRUCTURED QUERY LANGUAGE (SQL)

PRAKTIKUM 3 BERBAGAI MACAM TIPE DATA (Integer dan Real)

Teori Algoritma. Struktur Algoritma

FUNGSI. Blok fungsi juga diawali dengan kata cadangan Begin dan di akhiri dengan kata cadangan End dan titik koma.

PRAKTIKUM 3 BERBAGAI MACAM TIPE DATA

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

Lampiran 1. Form 01. unit Skripsi; interface. uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, math;

P A S C A L D A S A R

Modul I Mengenal Pemrograman Delphi

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type

KONSEP DASAR BAHASA PASCAL

PERCOBAAN I STATEMENT

BAB I TUJUAN DAN LANDASAN TEORI

Dasar Komputer & Pemrograman 2A

ANGKA TERBILANG. Program ini terdiri dari beberapa komponen yaitu:

SMA SANTO PAULUS PONTIANAK

Object Name Caption. RadioButton1 rpria Pria RadioButton2 rwanita Wanita. ComboBox1 ckode - Edit1 enapar - Edit2 ehrg - Edit3 ejumbel - Edit4 etotal -

URAIAN POKOK PERKULIAHAN

Kodingan untuk Membuat Grafik dari Persamaan Garis Lurus dan Kuadrat Menggunakan Delphi 7

Modul I Mengenal Pemrograman Delphi

Subprogram. Definisi

Dasar Komputer & Pemrogaman 2A

Pengenalan Pascal. Sejarah Singkat Pascal

Pengenalan Pascal. Tujuan Pembelajaran

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

PENGANTAR LOGIKA DAN ALGORITMA DENGAN PASCAL

Algoritma Pemrograman

LAMPIRAN. Universitas Sumatera Utara

BAB 1 PENDAHULUAN 1.1 Latar Belakang

FieldName DataType FieldSize Status UserPass Text 40 Primary Key Nama_User Text 30 Password Text 10

Contoh soal Struktur Program Pascal (Seleksi tingkat propinsi TOKI 2004)

DAFTAR PUSTAKA. Choiron, Moch. Agus. (tanpa tahun). Interpolasi. Malang.

menunjukkan tipe hasil dari fungsi. sqr, succ dan sebagainya. buat sendiri.

PRAKTIKUM 1 2 MENGENAL DELPHI

BAB III PENGENALAN STRUKTUR BAHASA PASCAL. Kompetensi Dasar : 1. Mahasiswa mengenal dan memahami struktur bahasa Pascal

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Perulangan. Bentuk Proses. 1. Perulangan For positif contoh 1 : perulangan positif untuk satu statement :

Belajar itu, Tidak harus menunggu materi dari guru Inisiatif Mencari itulah BELAJAR.

Algoritma Pemrograman

Pengenalan Algoritma dan Pemrograman Pascal

Algoritma Pemrograman A

STRUKTUR KENDALI. Memanfaatkan struktur kendali untuk kasus komputasi

MATERI 4 PENYELEKSIAN KONDISI

PERSEGI ANGKA-HURUF VERTIKAL

Visual Delphi 7 D3 TI FMIPA UNS Sakroni

Kontrol Data Set dan Navigasi Tabel

MODUL 1. Struktur Bahasa PASCAL secara umum

Algoritma Pemrograman

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Array merupakan sekumpulan elemen berindeks yang memiliki tipe yang sama (base type). Pendefinisian array ditunjukkan dengan format:

Komentar Program. Komentar program dapat diletakkan dimanapun di dalam program. pembatas (* dan *).

Bahasa Pemrograman (TD22093)

Sesi/Perkuliahan ke: I

PRAKTIKUM 1 MENGENAL BAHASA PASCAL. File, Edit, Search, Run, Compile, Debug, Tools, Option, Windows dan Help.

Dasar Komputer & Pemrograman 2A

a. TRUE b. FALSE c. Jawaban A dan B keduanya dimungkinkan benar d. Tidak dapat ditentukan e. Tidak ada jawaban di antara A, B, C, D yang benar

ARRAY. Brigida Arie Minartiningtyas, M.Kom

BAB IV STRUKTUR PROGRAM Struktur program pada dasarnya tersusun 3 struktur program utama yaitu : a. Struktur Berurutan (Sequence Structure) b.

Mengenal pemrograman multithread dengan Delphi 7

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

Algoritma,Flowchart, Konsep

Algoritma Pemrograman

Memulai Pemrograman Pascal dengan Delphi Console 1. Buka aplikasi delphi 2. Pilih File New Other Console Application

Chapter 4 Counting Repetition

LAMPIRAN A: DDL DATABASE

Pengolahan String A. Dasar Teori

SOAL DAN JAWABAN UTS PEMROGRAMAN DASAR KELAS X

Elga Lesmana

Konstruksi Dasar Algoritma

PROCEDURE DAN FUNCTION

Algoritma Pemrograman

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

TPI4202 e-tp.ub.ac.id. Lecture 5

Teori Algoritma TIPE DATA

Algoritma Pemrograman

Writting Procedure and Function

LAMPIRAN A: LISTING PROGRAM

Function. Pertemuan 7 Jurusan Sistem Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma 2015

PEMROGRAMAN VISUAL BASIC

Transkripsi:

Bab 4 Procedure Anda sudah menggunakan procedure dan function dalam topik-topik yang lalu mungkin tanpa Anda sadari. Write, Writeln, Read, dan Readln adalah contoh procedure yang digunakan untuk menulis atau membaca data. Sedang abs, sqrt, sqr, sin, dan cos adalah contoh fucntion yang memang sudah disediakan oleh sistem Pascal. Ternyata kita juga dapat membuat procedure atau function buatan kita sendiri dan diperlakukan seperti procedure atau function yang disediakan oleh sistem. Procedure dan function ini termasuk dalam subprogram. Kegunaan subprogram adalah untuk mempermudah pengelolaan dan penyederhanaan program. 4.1 Struktur Rancangan Puncak-Turun dengan Procedure Program tersusun atas beberapa modul. Modul kemudian dapat diimplementasikan dengan subprogram (procedure atau function). Kapan procedure digunakan? Pada umumnya setiap modul dapat diimplemtasikan dalam bentuk procedure atau function. Namun untuk modul yang sangat sederhana bentuk procedure atau function tidak diperlukan. Keputusan penggunaan modul atau tidak dapat didasarkan pada bagaimana secara keseluruhan program menjadi lebih mudah dipahami. Jika modul hanya terdiri atas 1 baris saja, lebih baik tidak usah dijadikan procedure. Jika modul terdiri atas banyak baris, lebih baik dijadikan procedure saja. Inin untuk mempermudah pemahaman program secara keseluruhan. Perlu dicatat di sini bahwa keputusan untuk menjadikan modul menjadi procedure atau tidak, hanya menyebabkan pada perbedaan keterbacaan program, bukan pada hasil program.

56 4. Procedure 4.2 Perancangan Procedure 4.2.1 Pengertian Subprogram Subprogram adalah bagian dari program yang dirancang untuk melaksanakan suatu tugas tertentu. Idenya adalah konsep tentang modularitas : program dipecah atas subprogram-subprogram yang lebih kecil. Dengan cara ini, program akan lebih mudah dimengerti, dan jika ada kesalahan di dalam proses pengolahan data akan lebih mudah untuk melokalisirnya. Di dalam Pascal subprogram bisa berwujud prosedur atau fungsi. Secara garis besar, konstruksi keduanya mirip dengan program. Prosedur dan fungsi bisa dikatakan sebagai program kecil. Keduanya bisa memiliki deklarasi-deklarasi, bagian badan, bahkan prosedur atau fungsi yang lain. Aturan umum yang dapat digunakan untuk menentukan perlunya dibuat suatu prosedur atau fungsi : bagilah suatu penyelesaian persoalan (solusi) menjadi subsolusi-subsolusi yang lebih kecil. Masing-masing subsolusi diwujudkan dalam bentuk prosedur atau fungsi. Contoh : masalah pengelolaan data karyawan dapat dibagi menjadi bagian pemasukan data, pengubahan data, penampilan data, dan penghapusan data. Wujudkan masing-masing bagian tersebut dalam sebuah procedure atau function. 4.2.2 Procedure Prosedur adalah bentuk subprogram yang semata-mata bertugas mengerjakan suatu aktivitas. Struktur pendefinisian prosedur adalah sebagai berikut. procedure nama prosedur [( deretan parameter) ]; [ bagian deklarasi konstanta, tipe, variabel, dan prosedur/fungsi ] begin [ statemen statemen dalam badan prosedur ] end ; Gambar?? menggambarkan diagram sintaksis procedure dalam Pascal. Terlihat bahwa struktur prosedur mirip dengan struktur program Pascal. Perbedaannya adalah pada kata procedure dan adanya deretan parameter yang menyertainya. Tentang parameter akan dibicarakan kemudian. Prosedur digunakan dengan cara memanggil namanya. Sebagai contoh, pada program pengelolaan data karyawan, jika diinginkan untuk mengubah data karyawan, maka prosedur ubah data dipanggil untuk melaksanakan hal tersebut. Begitu nama sebuah prosedur dipanggil di suatu bagian program, maka eksekusi program akan berpindah ke prosedur tersebut. Program akan mengerjakan apa yang diminta di dalam prosedur tersebut. Setelah selesai, eksekusi akan kembali kepada bagian pemanggil.

4.2. Perancangan Procedure 57 procedure procedure identifier ; parameter deklarasikonstanta deklarasitipe deklarasivariabel deklarasiprosedur deklarasifungsi begin statemen end ; Gambar 4.1: Sintaksis Procedure 1 program Contoh prosedur; 2 var a,b : integer ; 3 4 procedure Print Bilangan ; // deklarasi prosedur 5 begin // untuk menampilkan dua bilangan 6 writeln ( Hasil pertama =,a) ; 7 writeln ( Hasil kedua =,b) ; 8 end ; 9 10 begin 11 write( Masukkan bilangan pertama : ); readln(a); 12 write( Masukkan bilangan kedua : ) ; readln(b); 13 Print Bilangan; // panggil prosedur perhatikan hasilnya 14 a := a + 10; 15 b := b + 5; 16 Print Bilangan; // panggil sekali lagi, perhatikan hasilnya 17 end. Contoh 4.1:

58 4. Procedure parameter ( identifier : tipedata var, ; Gambar 4.2: Sintaksis parameter dalam Procedure ) Buatlah procedure untuk menampilkan pola kotak dari huruf * dengan tinggi m dan lebar n. Nilai m dan n merupakan parameter masukan procedure. Contoh untuk m = 4dann = 5, hasilnya berbentuk : Jawab: Terlihat bahwa untuk persoalan tersebut lebih mudah diselesaikan dengan iterasi. Setiap baris diulang sebanyak n dan jumlah baris adalah m. Dengan demikian bentuk programnya menjadi: 1 procedure Kotak(m, n : integer); 2 var i, j : integer ; 3 begin 4 for i:=1 to m do begin 5 for j:=1 to n do 6 write( ); 7 writeln ; 8 end ; 9 end ; Contoh 4.2: Buatlah procedure untuk menampilkan pola segitiga dari huruf * dengan tinggi dan lebar n. Nilai n merupakan parameter masukan procedure. Contoh untuk n = 5, hasilnya berbentuk: * ** *** ****

4.2. Perancangan Procedure 59 Jawab: Terlihat bahwa untuk persoalan tersebut juga lebih cocok diselesaikan dengan iterasi. Setiap baris diulang sebanyak nilai i, i bergerak dari 1 sampai dengan n, dan jumlah baris adalah n. Dengan demikian bentuk programnya menjadi: 1 procedure SegiTiga(n : integer); 2 var i, j : integer ; 3 begin 4 for i:=1 to n do begin 5 for j:=1 to i do 6 write( ); 7 writeln ; 8 end ; 9 end ; Contoh 4.3: Buatlah procedure untuk menampilkan pola kotak dari karakter * seperti Contoh 4.??, tetapi bagian tengah berisi spasi. Contoh untuk m =4dann = 5, hasilnya berbentuk : Jawab: Untuk menyelesaikan persoalan ini perlu dicari pola, kapan harus dicetak spasi dan kapan ahrus dicetak *. Untuk ini, kipa perhatikan kapan harus mencetak *, yaitu baris pertama, baris terkahir, kolom pertama, dan kolom terakhir. Baris pertama tercetak saatnilai i =1, sedang baris terakhir tercetak saat nilai i = m. Kolom pertama berarti nilai j = 1 dan kolom terakhir berarti j = n. Dengan demikian bentuk programnya menjadi: 1 procedure Kotak2(m, n : integer); 2 var i, j : integer ; 3 begin 4 for i:=1 to m do begin 5 for j:=1 to n do 6 if (i=1) or (i=m)or (j=1) or (j=m) 7 then write ( ) 8 else write( ); 9 writeln ; 10 end ; 11 end ;

60 4. Procedure Contoh 4.4: Buatlah procedure untuk menampilkan pola segi tiga dari huruf * seperti Contoh 4.??, tetapi bagian tengah berisi spasi. Contoh untuk n = 5, hasilnya berbentuk : * ** Jawab: Untuk menyelesaikan persoalan ini juga perlu dicari pola, kapan harus dicetak spasi dan kapan harus dicetak *. Perhatikan kapan harus mencetak *, yaitu kolom pertama, baris terkahir, dan diagonal. Kolom pertama tercetak saatnilai j = 1, sedang kolom terakhir berarti j = n. Kolom diagonal terjadi saat nilai i = j. Dengan demikian bentuk programnya menjadi: 1 procedure SegiTiga2(n : integer); 2 var i, j : integer ; 3 begin 4 for i:=1 to n do begin 5 for j:=1 to i do 6 if (j=1) or (i=n) or (i=j) 7 then write ( ) 8 else write( ); 9 writeln ; 10 end ; 11 end ; Contoh 4.5: Bagaimana bentuk aplikasi lengkap dalam GUI untuk menampilkan pola kotak dan segitiga seperti contoh sebelumnya? Jawab: Desain from untuk persoalan ini terlihat seperti Gambar??. Program 4.1: Program menampilkan Kotak dan Segitiga dalam GUI 1 unit prog6 2; 2 3 interface 4 5 uses 6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

4.2. Perancangan Procedure 61 Gambar 4.3: Desain Form Program Pola Kotak dan Segitiga 7 Dialogs, StdCtrls, ExtCtrls ; 8 9 type 10 TForm1 = c l a s s (TForm) 11 Memo1 : TMemo; 12 RadioGroup1 : TRadioGroup; 13 Label1 : TLabel ; 14 Label2 : TLabel ; 15 Edit1 : TEdit ; 16 Edit2 : TEdit ; 17 Button1 : TButton ; 18 procedure Button1Click (Sender : TObject) ; 19 private 20 { Private declarations } 21 procedure Kotak(m,n : Integer); 22 procedure Kotak2(m,n : Integer); 23 procedure Segitiga(n : Integer); 24 procedure Segitiga2(n : Integer); 25 public 26 { Public declarations } 27 end ; 28 29 var 30 Form1 : TForm1; 31 32 implementation 33 34 {$R.dfm}

62 4. Procedure 35 procedure TForm1. Kotak(m, n : integer); 36 var i, j : integer ; 37 st : String ; 38 begin 39 Memo1. Clear ; 40 for i:=1 to m do begin 41 st:= ; 42 for j:=1 to n do 43 st:=st+ ; 44 Memo1. Lines.Add(st); 45 end ; 46 end ; 47 48 procedure TForm1. SegiTiga(n : integer); 49 var i, j : integer ; 50 st : String ; 51 begin 52 Memo1. Clear ; 53 for i:=1 to n do begin 54 st:= ; 55 for j:=1 to i do 56 st:=st+ ; 57 Memo1. Lines.Add(st); 58 end ; 59 end ; 60 61 procedure TForm1. Kotak2(m, n : integer); 62 var i, j : integer ; 63 st : String ; 64 begin 65 Memo1. Clear ; 66 for i:=1 to m do begin 67 st:= ; 68 for j:=1 to n do 69 if (i=1) or (i=m)or (j=1) or (j=m) 70 then st:=st+ 71 else st:=st+ ; 72 Memo1. Lines.Add(st); 73 end ; 74 end ; 75 76 procedure TForm1. SegiTiga2 (n : integer); 77 var i, j : integer ; 78 st : String ; 79 begin 80 Memo1. Clear ; 81 for i:=1 to n do begin 82 st:= ; 83 for j:=1 to i do 84 if (j=1) or (i=n) or (i=j) 85 then st:=st+ 86 else st:=st+ ; 87 Memo1. Lines.Add(st); 88 end ; 89 end ; 90

4.3. Soal Latihan 63 91 procedure TForm1. Button1Click( Sender : TObject) ; 92 var 93 Tinggi, Lebar : integer ; 94 begin 95 Tinggi := StrToInt(Edit1.Text) ; 96 Lebar := StrToInt(Edit1.Text) ; 97 case RadioGroup1. ItemIndex of 98 0 : Kotak(Tinggi, Lebar) ; 99 1 : Kotak2(Tinggi, Lebar) ; 100 2 : Segitiga(Tinggi); 101 3 : Segitiga2(Tinggi); 102 end ; 103 end ; 104 105 end. 4.3 Soal Latihan 1. Buatlah procedure untuk menampilkan pola segi tiga dari karakter * seperti Contoh 4.??, tetapi sisi tegak ada di bagian kanan. Contoh untuk n = 5, hasilnya berbentuk : * ** 2. Ingin dibuat procedure untuk menampilkan pola bilangan dalam segi tiga seperti contoh berikut (untuk n = 5). Bagaimana isi procedurenya? 1 121 12321 1234321 123454321 3. Ingin dibuat procedure untuk menampilkan pola bilangan dalam segi tiga seperti contoh berikut (untuk n = 5). Bagaimana isi procedurenya? 1 121 12321 1234321 123454321

64 4. Procedure 12344444321 1233333333321 122222222222221 11111111111111111 4. Ingin dibuat procedure untuk menampilkan pola bilangan dalam kotak seperti contoh berikut (untuk n = 4). Bagaimana isi procedurenya? 1111111 1222221 1233321 1234321 1233321 1222221 1111111