Materi 5 Nama dan Environment Dasar-Dasar Pemrograman.

Slides:



Advertisements
Presentasi serupa
PROCEDURE Temu IX BANGHER.
Advertisements

Pemrogramman Terstruktur
PASCAL - 8 MODUL.
Dasar Komputer & Pemrog 2 A minggu 5. PROCEDURE DAN FUNCTION Procedure dan Function adalah suatu program yang terpisah dalam blok sendiri Dan memiliki.
Input dan output Data Dalam bahasa Pascal untuk keperluan input (membaca input) digunakan identifier standar READ atau READLN. ReadLn digunakan untuk.
STRUKTUR DATA (5) Pointer dan Function
All sections to appear here
Pengenalan Bahasa Pemrograman Pascal
MATERI 9 FUNGSI REKURSIF.
RECORD.
Situasi Saat Program Berjalan (Run-time Environment)
Flowchart dan Pseudocode
Prosedur (Procedure).
Stored Procedure Basis Data Terapan.
Selamat datang Di Prosedur dan Fungsi. Sub Program “Adl Program kecil yg dpt di panggil berulang-ulang sesuai dg kebutuhan”  Manfaatnya: 1.Memudahkan.
STRUKTUR DATA (5) Pointer dan Function
Procedure & Function Sub Program.
SUB-PROSES # PENGANTAR MANFAAT PARAMETER PROSEDUR
Procedure , Function dan Parameter
Dikompilasi Oleh : Ary Bima Kurniawan ST., MT.
Prak.Dasar-Dasar Pemrograman
Outline Awalnya dikembangkan oleh Borland dan umunya igunakan untuk paket perangkat lunak tingkat lanjut dengan kepustakaan yang lebih banyak dan.
FUNGSI Teknik Informatika Universitas Muhammadiyah Malang 2011 Pemrogramman Terstruktur.
STRUKTUR DATA Pointer dan Function
MATERI 3 PROSEDUR.
REPETITION / PERULANGAN LOOP/Iteration
IT-132 Dasar-Dasar Pemrograman
PENGULANGAN INSTRUKSI
Praktikum Dasar-Dasar Pemrograman
DASAR PEMOGRAMAN MODULAR DESIGN DASAR PEMOGRAMAN KELOMPOK 5 UNIVERSITAS BRAWIJAYA.
SUBRUTIN By Adnan Purwanto, S.Kom.
Fungsi dan Prosedur.
Procedure , Function dan Parameter
ALGORITMA PEMROGRAMAN 2A
Stored Function Tanpa Parameter
PROGRAM SEBAGAI LOGIKA INSTRUKSI
Struktur Program Pascal
Dasar-Dasar Pemrograman
Algoritma pemrograman 2a
SUBALGORITMA.
PROGRAM SEBAGAI LOGIKA INSTRUKSI
Pengantar Pemrograman
UNIVERSITAS BRAWIJAYA
SUBRUTIN.
PROCEDURE & FUNCTION Merupakan sebuah blok yang berisi sekumpulan baris program yang dapat dipanggil dari tempat lain. Tujuan Procedure & Function untuk.
MODUL 2.
MODULAR (FUNGSI)
Sindy Nova Algoritma dan Pemrograman 1A
LINGKUNGAN TURBO PASCAL
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya.
Materi Kuliah 1. Pertemuan ke : 1 Pengenalan Komputer dan Pemrograman
Stored Function Dengan Parameter
Castaka agus sugiato, M.Kom., M.CS
Dasar-Dasar Pemrograman
Pemrograman (IN124) Ramos Somya, S.Kom., M.Cs.
MATERI 3 Sub Program PRAKTIKUM DDP.
Tipe data & Variabel 1. Aturan Leksikal. 2. Operator. 3. Statement
MODULAR (FUNGSI)
Tipe data & Variabel 1. Aturan Leksikal. 2. Operator. 3. Statement
ALGORITMA DAN PEMROGAMAN
FUNCTION Muzamil Indra ( ) Oky Putranto ( )
Pertemuan ke 6 Nori Sahrun, S.Kom., M.Kom
Percabangan dalam VB6: GoTo, GoSub, Sub, Function
UNIVERSITAS BRAWIJAYA
Dasar-Dasar Pemrograman
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
Pemrograman (IN124) Ramos Somya, S.Kom., M.Cs.
PROGRAM SEBAGAI LOGIKA INSTRUKSI
Pemrograman (IN124) Ramos Somya, S.Kom., M.Cs.
Transcript presentasi:

Materi 5 Nama dan Environment Dasar-Dasar Pemrograman

Pentingnya Penamaan Dalam membuat program, alur program harus logis dan masuk akal. Untuk itu perlu dipikirkan penamaan yang baik. Pemanggilan nama prosedur dan parameter bersifat case-sensitive (huruf besar dan kecil dibedakan). Hindari penamaan menggunakan tanda baca seperti dan sebagainya.

Menyesuaikan Argumen dan Parameter Perhatikan potongan program berikut : def r3(p) = p(); p(); p() enddef r3(‘+’) Program tersebut tidak masuk akal. r3(‘+’) akan menghasilkan ‘+’(); ‘+’(); ‘+’() Seharusnya (‘….’) diisi dengan nama prosedur, bukan sembarang karakter.

Menyesuaikan Argumen dan Parameter Perhatikan potongan program berikut : def r3(p) = p(); p(); p() enddef r3() Program tersebut juga tidak masuk akal. r3() tidak akan memanggil prosedur apapun.

Menyesuaikan Argumen dan Parameter Perhatikan potongan program berikut : def r3(p) = p(); p(); p() enddef r3(r3) Program tersebut juga tidak masuk akal. r3(r3) akan menghasilkan r3(); r3(); r3() yang jika dieksekusi masing-masing r3() tidak akan memanggil prosedur apapun.

Menyesuaikan Argumen dan Parameter Perhatikan potongan program berikut : def A(x) = x(); printchar(x) enddef Program tersebut akan menghasilkan error. Kita harus membedakan penulisan nama prosedur dan penulisan karakter. Seharusnya : def A(x) = x(); printchar(‘x’) enddef

Memilih Nama untuk Parameter Perhatikan potongan program berikut : def r3(stop) = stop(); stop(); stop() enddef def r3(start) = start(); start(); start() enddef def r3(no) = no(); no(); no() enddef Hindari penggunaan nama yang sama untuk parameter yang berbeda. Sebaiknya : def r1(stop) = stop(); stop(); stop() enddef def r2(start) = start(); start(); start() enddef def r3(no) = no(); no(); no() enddef

Nama Parameter dan Alias Perhatikan potongan program berikut : def r3(r3) = r3(); r3(); r3() enddef def one() = print* enddef def two() = NL; r3(one) enddef r3(one); r3(two) Akan menghasilkan output yang sama dengan program berikut ini: def r3(r3) = r3(); r3(); r3() enddef def one() = print* enddef def two() = NL; r3(one) enddef one(); one(); one(); r3(two)

Nama Parameter dan Alias Perhatikan potongan program berikut : def r3(r3) = r3(); r3(); r3() enddef def one() = print* enddef def two() = NL; r3(one) enddef r3(one); r3(two) Akan menghasilkan output yang sama dengan program berikut ini: def r3(r3) = r3(); r3(); r3() enddef def one() = print* enddef def two() = NL; r3(one) enddef print*; print*; print*; r3(two)

Nama Parameter dan Environments Perhatikan potongan program berikut : def r3(r3) = r3(); r3(); r3() enddef def one() = print* enddef def two() = NL; r3(one) enddef r3(one); r3(two) Jika dieksekusi, compiler akan menghasilkan environment (lingkungan kerja) yang terstruktur sebagai berikut :

Env 1 r3=λ(r3).(r3();r3();r3()) one= λ().print* two= λ().(NL;r3(one)) Execute r3(one) Execute r3(two) Env 2 r3=two Execute r3()=two() Env 3 Execute NL Execute r3(one) NEWLINE Env 4 r3=one Execute r3()=one() Env 5 Execute print* * * * NEWLINE, *, *, * Jadi, hasil akhir program adalah : NEWLINE, *, *, * * * * atau

Membuat prosedur berparameter Perhatikan potongan program berikut : def r3(p) = p(); p(); p() enddef def one() = print* enddef def line() = NL; r3(one) enddef r3(line) Jika dieksekusi, program tersebut akan menghasilkan output : * * *

Membuat prosedur berparameter Jika saya ingin menghasilkan output : Maka saya harus merubah program sebagai berikut : def r3(p) = p(); p(); p() enddef def one() = printchar(‘+’) enddef def line() = NL; r3(one) enddef r3(line) + + +

Membuat prosedur berparameter Untuk mempermudah pekerjaan saya, saya dapat membuat sebuah prosedur berparameter, sehingga jika saya ingin membuat bentuk yg sama dengan karakter yg berbeda, saya hanya perlu merubah parameternya saja: Prosedur yg saya buat adalah sebagai berikut : def square(c) = def r3(p) = p(); p(); p() enddef def one() = printchar(c) enddef def line() = NL; r3(one) enddef r3(line) enddef

Membuat prosedur berparameter Sehingga, jika saya ingin merubah dalam bentuk lain, saya hanya perlu mengganti parameternya saja : def square(c) = def r3(p) = p(); p(); p() enddef def one() = printchar(c) enddef def line() = NL; r3(one) enddef r3(line) enddef square(‘+’) square(‘A’) square(‘#’) A A A # # #

Tipe-tipe Nama Ada 3 tipe nama dalam program, yaitu free name, bound name, dan binding name. Perhatikan rumus berikut : X x Y where Y=7 (X dikali Y, dimana Y=7) Terdapat 3 nama, yaitu X, Y, dan 7. Selain itu, ada 3 simbol yaitu x (kali), where, dan = (sama dengan). Hanya Y yang diberi nilai awal, sehingga X dan 7 disebut free name, sedangkan Y disebut bound name. Sehingga rumus dapat diganti menjadi : X x 7 Angka 7 di dalam X x 7 disebut binding name, yaitu nama alias yang menggantikan bound name (Y).

Tipe-tipe Nama Perhatikan potongan program berikut : def a() = printchar(b); printchar(b) enddef a(); a() Ada 3 nama dalam program tersebut : a, b, dan printchar. Printchar adalah nama konstan di dalam Pascal, sehingga compiler tidak mengolahnya. a adalah bound name karena a digantikan oleh printchar(b), sementara b adalah free name. Jika b diganti dengan ‘+’, maka outputnya adalah ++++, jika b diganti dengan *, outputnya adalah ****.

Tipe-tipe Nama Perhatikan potongan program berikut : def a() = printchar(b); printchar(b) enddef a(); a() Jika kita merubah a dengan ‘***’ dan b dengan ‘+’, apakah akan merubah hasilnya ? TIDAK. Hasil outputnya tetap Jadi, jika kita merubah free name dengan sebuah nilai, compiler akan mengembalikan nilai tersebut, tetapi jika kita merubah bound name dengan sebuah nilai, compiler akan mengerjakan apa yang ada dalam nilai tersebut.

Definisi di dalam definisi Perhatikan potongan program berikut : def pat(c) = def r3(p)=p();p();p() enddef def x()=printchar(c) enddef NL;r3(x) enddef pat(‘*’) Program di atas memiliki 3 free name yg kesemuanya adalah konstan yaitu printchar, NL, dan ‘*’, dan memiliki bound name yaitu : pat, c, r3, x, dan p. Jika dijalankan, program akan menghasilkan ***.

Definisi di dalam definisi Perhatikan potongan program berikut : def pat(c) = def r3(p)=p();p();p() enddef def x()=printchar(c) enddef NL;r3(x) enddef pat(‘*’) Bandingkan dengan yg berikut : def pat(c) = def r3(c)=c();c();c() enddef def x()=printchar(c) enddef NL;r3(x) enddef pat(‘*’)

Definisi di dalam definisi Jika dijalankan, kedua program akan menghasilkan output yg sama, yaitu ***. Tapi tentu saja kita akan semakin bingung, karena penamaannya menggunakan huruf yang sama. Jadi, meskipun kita bebas menggunakan karakter apapun untuk penamaan, sebaiknya kita tidak menggunakan karakter yang sama untuk parameter/prosedur yg berbeda.

Ringkasan Procedure No return function nama :type; procedure nama(param); function nama(param) : type; procedure nama; With return

Ringkasan procedure nama; procedure BENDA; begin write(‘*’); end; begin BENDA; end.

Ringkasan procedure nama(param); procedure BENDA(x : char); begin write(x); end; begin BENDA(‘*’); BENDA(‘+’); end.

Ringkasan function nama :type; function BENDA : char; begin BENDA:=‘*’; end; begin write(BENDA); BENDA; end.

Ringkasan function nama(param) : type; function BENDA(x : char ) : char; begin BENDA:=x; end; begin write(BENDA(‘*’)); write(BENDA(‘+’)); end.

Latihan Kerjakan soal berikut ini Buat program Pascal untuk menampilkan * **** Procedure B1 -  cetak 1 karakter Procedure Bn -  cetak n karakter Karakter yang dicetak tidak harus *, bisa sembarang karakter

-Selesai- Materi 5