Bab 7 PEMROGRAMAN MODULAR

dokumen-dokumen yang mirip
5. Teknik Pengulangan

BAB 3 PENYELESAIAN KONDISI

ALGORITMA PEMROGRAMAN 1A** (PP :S1-KA) Pertemuan 6. Ahmad Hidayat

BAB 3 STRUKTUR KENDALI, SUBROUTINE, DAN FUNGSI

Bab 2 Struktur Dasar

Bab 4 Perintah Perulangan

BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR

STATEMEN GO TO DAN IF-THEN. Pertemuan IX

Catatan Kuliah PAM 282 Pemrograman Komputer II

POKOK BAHASAN - 2 PEMROGRAMAN MODULAR

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

PENGENALAN DASAR PEMROGRAMAN

Kontrak Kuliah. Stored Procedures and Function. Edi Sugiarto, S.Kom, M.Kom

BAB I TUJUAN DAN LANDASAN TEORI

RINGKASAN PEMROGRAMAN QUICK BASIC

Sesi/Perkuliahan ke: 3

Statemen RESTORE. Statemen INPUT. Contoh : digunakan untuk mengembalikan pointer ke awal DATA sehingga data dapat dibaca kembali.

PROSES PENJUALAN BUKU

Dasar Komputer & Pemrograman 2A

ELEMEN DASAR PROGRAM FORTRAN. Kuliah ke-2

IT132 Dasar-Dasar Pemrograman. Ramos Somya

PROCEDURE DAN FUNCTION

Saifoe El Unas 2. Free Format

Bab 5 Array (Variabel Berindeks)

PROCEDURE DAN FUNCTION

PEMROGRAMAN TERSTRUKTUR

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

ALGORTIMA DAN PEMROGRAMAN

PENGULANGAN DAN PEMBACAAN DATA

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Modul.

Algoritma Pemrograman

FOR... NEXT. Bentuk Umum : FOR pencacah = awal TO akhir [ STEP langkah ] [ statement1 ] [ statement2 ] NEXT [ pencacah ]

PROCEDURE. Bentuk Umum : PROGRAM judul_program ; PROCEDURE judul_prosedur ; Begin Statement prosedur ; End ; Begin Statement program utama ; end.

PROCEDURE DAN FUNCTION PROCEDURE. Parameter dalam Prosedur: C/: PROGRAM CONTOH_2; VAR p,l,t,vol,panj : real;

Pertemuan 3 Prosedur dan Fungsi

OPERASI STRING. Delete(var s:string;index:integer;count:integer);

SUB PROGRAM : PROSEDUR & FUNGSI. Konsep Pemrograman

Pertemuan 4 Diagram Alur / Flowchart

Pemrograman Dasar M E T H O D / F U N G S I

Procedure. Brigida Arie Minartiningtyas, M.Kom

IT132 Dasar-Dasar Pemrograman. Ramos Somya, S.Kom., M.Cs.

BAB III ANALISIS DAN PERANCANGAN

Sesi/Perkuliahan ke: 4

Bab 6. FUNGSI-FUNGSI DALAM BASIC

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

MODUL PRAKTIKUM ALGORITMA & BAHASA PEMROGRAMAN I (BASIC) Dosen Pengasuh : Suroto, S.Kom, M.Ak

Sesi/Perkuliahan ke: VI Tujuan Instruksional Khusus : 4. Pokok Bahasan : Deskripsi singkat : Referensi :

PROSEDUR. Jadi, setiap prosedur harus : - Didefinisikan (dibuat spesifikasinya) dan dituliskan kode programnya - Dipanggil, pada saat eksekusi

FUNGSI DAN PROCEDURE

STATEMENT FORMAT, DATA, PARAMETER, SPESIFIKASI DAN PENGERJAAN. Kuliah ke-3

Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Modul.

Dasar Pemrograman TIP FTP UB

Soal Ujian Akhir Semester Pendek TA. 2006/2007 D3-Manajemen Informatika

Algoritma dan Struktur Data

CCH1A4 / Dasar Algoritma & Pemrogramanan

Praktikum Modul Praktikum ke Judul Materi Tujuan / Sasaran Waktu (lama) Aplikasi yang digunakan

Algoritma Pemrograman

- KONSEP MODULAR Pengertian Konsep Modular memecah program ke dalam modul-modul. Contoh modul yang sering digunakan adalah : Prosedur & Fungsi

Algoritma Pemrograman

PERTEMUAN - 3 PEMROGRAMAN MODULAR

PEMROGRAMAN VISUAL BASIC

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

CCH1A4 / Dasar Algoritma & Pemrogramanan

1 Pengenalan IDE Python

PENGULANGAN DAN PEMBACAAN DATA *

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

Subprogram. Definisi

Procedure. Pertemuan 10 Algoritma Pemrograman

PEMROGRAMAN TERSTRUKTUR by: Budiyono, S. Kom

STATEMENT INPUT - OUTPUT

STATEMENT INPUT-OUTPUT

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

Dasar Komputer & Pemrograman 2A

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

MATERI 5 Procedure. Pendeklarasian suatu procedure pada program : PROGRAM Judul_Program; PROCEDURE Nama_Prosedur; BEGIN. {Statemen prosedur} END.

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

3. Analisis Masalah dan Penyelesaian

MODUL-MODUL PRAKTIKUM VB.

Pendahuluan. Praktikum Pengantar Pengolahan Citra Digital Departemen Ilmu Komputer Copyright 2008 All Rights Reserved

PRAKTIKUM 8 SUB PROGRAM

PROSEDUR & PARAMETER PROSEDUR

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

Spesifikasi: Ukuran: 14x21 cm Tebal: 225 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

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

Algoritma Pemograman 1 A. Minggu 1

Writting Procedure and Function

Algoritma & Pemrograman #1. Antonius Rachmat C, S.Kom

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Prosedur dan Fungsi ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

MUHAMMAD BURHANUDDIN. Teknik Industri Universitas Borobudur (NIM # )

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

Rekursif. Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri.

Fungsi. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Konsep Dasar Pemrograman Pascal

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Fungsi. Fungsi. y = f (x) = x m = jumlah ( a, b ) = a + b

BAB V PROSEDUR DAN FUNGSI

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Transkripsi:

Bab 7 PEMROGRAMAN MODULAR Dalam suatu pengembangan perangkat lunak, pemrograman adalah salah satu tahap untuk mengimplementasikan penyelesaian masalah tertentu dengan suatu bahasa pemrograman. Penyusunan program yang terstruktur merupakan salah satu syarat program yang baik. Terstruktur berarti memiliki rancangan yang sistematis, mudah dibaca dan, mudah dibetulkan jika ada kesalahan serta mempunyai alur yang jelas (tidak loncat-loncat). Oleh karena itu, penggunaan perintah GOTO harus dihindari. Salah satu metode penyusunan program terstruktur adalah pemrograman modular. Dengan metode ini, suatu permasalahan yang besar dan kompleks dan dipecahpecah menjadi beberapa modul sehingga menjadi lebih sederhana. Modul-modul mandiri tersebut biasa dikenal dengan sebutan subroutine. Suatu subroutine pada bahasa BASIC dapat berupa subprogram, procedure maupun function. Subroutine Subroutine dibuat dengan beberapa tujuan, yaitu sebagai berikut ini : 1. Proses yang sering terjadi berulang-ulang dikelompokkan sebagai satu subroutine, sehingga bagian tersebut tidak harus ditulis secara berulang-ulang. Dengan demikian pembuatan program akan lebih mudah dan program tidak terlalu panjang. 2. Subroutine perlu dibuat agar program menjadi terstruktur. Salah satu cara agar suatu program menjadi terstruktur adalah dengan cara memecahnya menjadi bagian-bagian yang lebih sederhana dan dapat dijadikan dalam bentuk subroutine. Diktat Kuliah Bahasa Komputer I halaman 90

Untuk membuat program dengan teknik pemrograman modular dalam bahasa BASIC dapat digunakan perintah GOSUB..RETURN, DEF FN, SUB..END SUB 1. Membuat subprogram dengan GOSUB..RETURN Perintah GOSUB..RETURN merupakan salah satu cara pemrograman moduler yang paling sederhana. Perintah ini sebenarnya agak mirip dengan perintah GOTO. Perbedaannya adalah pada perintah GOTO seteleh loncat ke suatu baris tidak ada kewajiban untuk kembali ke baris/perintah sebelumnya, sedangkan pada perintah GOSUB..RETURN pasti kembali ke tempat semula. Bentuk umum dari instruksi ini adalah : GOSUB [nomor baris / label] nomor baris / label : RETURN Contoh : Print "Percobaan perintah GOSUB..RETURN" GOSUB gambargaris Print "Belajar Bahasa BASIC" GOSUB gambargaris END gambargaris : print "*******************" RETURN Percobaan perintah GOSUB..RETURN ******************* Belajar Bahasa BASIC ******************* Diktat Kuliah Bahasa Komputer I halaman 91

Contoh 2 : REM Program menghitung akar dengan rumus ABC REM diselesaikan menggunakan perintah GOSUB Input a,b,c D=b^2-4*a*c IF D>0 then Gosub akarreal IF D=0 then Gosub akarsama IF D<0 then gosub akarimajiner END akarreal : x1=(-b+sqr(d))/(2*a) x2=(-b-sqr(d))/(2*a) print "Ada 2 akar real yaitu "; x1;" dan ";x2 RETURN akarsama : x1=-b/(2*a) print "akarnya kembar yaitu :";x1 RETURN akarimajiner : nyata = -b/(2*a) imajiner = sqr(-d)/(2*a) print "Akarnya imajiner yaitu : " print "Akar 1 : "; nyata;"+";imajiner;"i" print "Akar 2 : "; nyata;"-";imajiner;"i" RETURN Diktat Kuliah Bahasa Komputer I halaman 92

2. Membuat fungsi dengan perintah DEF..FN Perintah DEF FN adalah perintah yang digunakan untuk membuat fungsi sendiri. Jika fungsi yang akan dibuat terdiri atas satu baris maka format penulisannya cukup seperti berikut ini : DEF Fnnamafungsi(parameter)=fungsi Jika fungsi berisi lebih dari 1 baris, maka format penulisannya adalah : DEF Fnnamafungsi(parameter) blok instruksi Fnnamafungsi=.(nilai dari fungsi) END DEF Contoh : REM Contoh program menggunakan fungsi DEF FNdiskrim(a,b,c)=b^2-4*a*c Input "Masukkan nilai a,b,c : ",a,b,c? FNdiskrim(a,b,c)? FNdiskrim(2,8,4) x=10 y=20 z=5? FNdiskrim(x,y,z) Masukkan nilai a,b,c : 1,2,3-8 (hasil dari nilai yang diinputkan a=1, b=2 dan c=3) 32 (hasil dari pemanggilan fungsi FNdiskrim(2,8,4) 200 (hasil dari x=10, y=20, z=5 ) Pada contoh program di atas Fungsi Fndiskrim mempunyai 3 parameter yaitu variabel a,b dan c. Untuk memanggil fungsi, variabel yang digunakan boleh tidak sama seperti pada contoh di atas Fndiskrim(x,y,z) artinya nilai variabel x,y dan z akan diproses oleh fungsi sebagai variabel a, b dan c. Diktat Kuliah Bahasa Komputer I halaman 93

DEF FNdiskrim(a,b,c)=b^2-4*a*c a=10 b=20 c=30? FNdiskrim(a,b,c)? FNdiskrim(b,c,a)? FNdiskrim(c,a,b) -800 (a=10, b=20, c=30 ) 100 (a=20, b=30, c=10 ) -2300 (a=30, b=10, c=20 ) Pada contoh di atas terlihat bahwa urutan dari parameter sangat mempengaruhi perhitungan nilai dari fungsi. Contoh berikut ini akan menunjukkan betapa bergunanya pemaiakan fungsi pada banyak kasus pemrograman. Banyak kombinasi dapat dihitung dengan rumus : Cn = N! / ( (N-R)!. R!) N= banyaknya data yang akan dikombinasikan R = banyaknya kombinasi C = jumlah kombinasi yang terjadi Misalnya jumlah dari data yang akan dikombinasikan adalah sejumlah 3 buah data yaitu A,B dan C. Ketiga data tersebut akan dikombinasikan dua-dua (R=2), maka kombinasi yang akan terjadi adalah : AB, AC dan BC (3 macam). Rumus untuk menghitung jumlah kombinasi menggunakan faktorial. Diktat Kuliah Bahasa Komputer I halaman 94

DEF FNfakt(X) LOCAL i,kali kali=1 FOR i=1 to X kali=kali*i NEXT FNfakt=kali END DEF input "Masukkan banyaknya data : ",N input "Masukkan banyak kombinasi : ",R C = FNfakt(N)/(FNfakt(N-R)*FNfakt(R))? "Jumlah kombinasi yang terjadi : ",C Masukkan banyaknya data : 5 Masukkan banyak kombinasi : 3 Jumlah kombinasi yang terjadi :10 Pada contoh program di atas, fungsi Fnfakt dipanggil sebanyak 3 kali dengan menggunakan parameter yang berbeda. C = FNfakt(N)/(FNfakt(N-R)*FNfakt(R)) Pemanggilan fungsi yang pertama menggunakan N sebagai variabel yang dimasukkan ke parameter X, kemudian (N-R) dan yang terakhir menggunakan variabel R. Dengan menggunakan fungsi maka program menjadi lebih ringkas dan efisien. Bandingkan jika untuk menyelesaikan kasus seperti pada contoh program di atas tidak digunakan fungsi, maka pasti programnya menjadi jauh lebih panjang karena bagian untuk menghitung faktorial harus ditulis berulang kali. Penggunaan statement LOCAL i,kali artinya variabel I dan kali adalah variabel lokal yang hanya dikenali di dalam fungsi Fnfakt dan tidak dikenali di bagian program yang lain. Diktat Kuliah Bahasa Komputer I halaman 95

Berikut ini adalah suatu program dengan fungsi untuk menghitung a pangkat b. A dan b berupa parameter. DEF FNhitung(a,b) LOCAL i,hasil hasil=1 FOR i=1 to b hasil = hasil * a NEXT FNhitung=hasil END DEF x=4 : y=3? FNhitung(x,y)? FNhitung(2,5)? FNhitung(3,3) 64 --- diperoleh dari 4 pangkat 3 32 --- diperoleh dari 2 pangkat 5 27 --- diperoleh dari 3 pangkat 3 Fungsi dan parameter dapat bertipe numerik maupun string tergantung dari kasus yang sedang dipecahkan. Berikut ini adalah contoh fungsi yang bertipe string. Fungsi tersebut berguna untuk membalik kata. DEF FNbalikkata$(kata$) LOCAL i,kata2$ kata2$="" FOR i=len(kata$) to 1 step -1 kata2$ = kata2$+ mid$(kata$,i,1) next FNbalikkata$ = kata2$ END DEF REM Program Utama INPUT "Masukkan sembarang kata : ",kata$? "Kata setelah dibalik : "; FNbalikkata$(kata$) Diktat Kuliah Bahasa Komputer I halaman 96

Masukkan sembarang kata : Surabaya Kota Pahlawan Kata setelah dibalik : nawalhap atok ayabarus 3. Membuat procedure dengan perintah SUB..END SUB Pada bahasa BASIC untuk membuat subroutine yang berupa procedure adalah dengan perintah SUB..END SUB. Bentuk umum perintah SUB..END SUB adalah sebagai berikut : SUB nama [daftar parameter] kumpulan instruksi END SUB Untuk memanggil subroutine / procedure digunakan perintah : CALL nama_procedure Dibandingkan dengan perintah GOSUB..RETURN perintah ini mempunyai beberapa keunggulan yaitu : Mempunyai parameter Cara pemanggilannya lebih mudah Variabel yang digunakan dapat bersifat global maupun local Dapat dipanggil secara recursif (memanggil dirinya sendiri) Seperti halnya pada FUNCTION, pada procedure juga terdapat 2 jenis variabel yaitu variabel LOCAL dan variabel GLOBAL / SHARED. Variabel local artinya variabel tersebut hanya dikenali oleh procedure itu saja dan tidak dikenali oleh bagian program yang lain. Sedangkan variabel bertipe global / shared adalah variabel yang dikenali oleh semua bagian program. Diktat Kuliah Bahasa Komputer I halaman 97

Contoh : SUB diskriminan(a,b,c) LOCAL D D=b^2-4*a*c?D END SUB CALL diskriminan(10,30,5) CALL diskriminan(20,5,10) CALL diskriminan(10,25,5) 700-775 425 Jika program di atas dimodifikasi sedikit menjadi sebagai berikut. SUB diskriminan(a,b,c) LOCAL D D=b^2-4*a*c END SUB CALL diskriminan(10,30,5)?d CALL diskriminan(20,5,10)?d CALL diskriminan(10,25,5)?d 0 0 0 Diktat Kuliah Bahasa Komputer I halaman 98

Semua pemanggilan procedure menghasilkan output 0 karena variabel D dibuat bertipe lokal sehingga hanya dikenali oleh procedure diskriminan dan tidak dikenali oleh program utama. Oleh karena itu, pada saat variabel D dicetak di dalam program utama hasilnya selalu 0. Berbeda dengan program versi sebelumnya, variabel D dicetak di dalam procedure diskriminan sehingga hasilnya sesuai dengan perhitungan. Agar hasilnya tetap benar, maka pada procedure diskriminan variabel D harus dibuat bertipe SHARED seperti contoh berikut ini : SUB diskriminan(a,b,c) SHARED D ------------------> Variabel D diubah dari bertipe LOCAL D=b^2-4*a*c menjadi bertipe SHARED END SUB 700-775 425 SUB faktorial(x,hasil) Local i hasil=1 For i= 1 to X hasil=hasil*i next END SUB input "Masukkan banyaknya data : ",N input "Masukkan banyak kombinasi : ",R CALL faktorial(n,hasil1) CALL faktorial(n-r,hasil2) CALL faktorial(r,hasil3) C = hasil1 / (hasil2 * hasil3)? "Jumlah kombinasi yang terjadi : ",C Masukkan banyaknya data : 5 Masukkan banyak kombinasi : 3 Jumlah kombinasi yang terjadi :10 Diktat Kuliah Bahasa Komputer I halaman 99

Diktat Kuliah Bahasa Komputer I halaman 100