Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

TEL 2112 Dasar Komputer & Pemograman Prosedur

Presentasi serupa


Presentasi berjudul: "TEL 2112 Dasar Komputer & Pemograman Prosedur"— Transcript presentasi:

1 TEL 2112 Dasar Komputer & Pemograman Prosedur
Dosen: Abdillah, S.Si, MIT Website:

2 Tujuan Mahasiswa mampu memecah sebuah program besar menjadi sejumlah prosedur atau fungsi. Untuk mencapai suatu tujuan besar, maka tujuan tsb harus dibagi-bagi menjadi tujuan kecil sampai tujuan kecil itu merupakan tujuan yang dapat dicapai berdasarkan potensi yang dimiliki saat itu (Al Khuwarizmi)‏

3 Apa itu Prosedur? Prosedur adalah modul program yang mengerjakan tugas atau aktivitas yang spesifik dan menghasilkan suatu efek netto yang diketahui dengan membandingkan keadaan awal dan keadaan akhir pada pelaksanaan sebuah prosedur. Oleh karena itu pada setiap prosedur perlu didefinisikan keadaan awal (K.Awal) sebelum rangkaian instruksi di dalam prosedur dilaksanakan dan keadaan akhir (K. Akhir) yang diharapkan setelahnya.

4 Notasi Algoritmik procedure Nama_Prosedur (parameter)‏
{ Berisi penjelasan apa yang dilakukan prosedur. K. Awal : Keadaan sebelum prosedur dilakukan K. Akhir : Keadaan sesudah prosedur dilakukan } DEKLARASI { Semua nama yang dipakai di dalam prosedur } ALGORITMA { Badan prosedur, berisi urutan instruksi }

5 Parameter Formal Berdasarkan maksud penggunaannya, ada tiga jenis parameter formal yang disertakan dalam prosedur a. Parameter masukan (input parameter)‏ b. Parameter keluaran (output parameter)‏ c. Parameter masukan/keluaran (input/output parameter)‏

6 A. Parameter Masukan Pada parameter masukan, nilai parameter aktual ditugaskan ke dalam parameter formal. Perubahan nilai parameter di dalam badan prosedur tidak mengubah nilai parameter aktual. Karena yang penting adalah nilainya, maka nama parameter aktual boleh berbeda dari nama parameter formal yang bersesuaian.

7 Contoh Algoritma Prosedur
procedure Hitung_Luas(input alas, tinggi : real)‏ {Menghitung luas segitiga = (alasxtinggi)/2} {K. Awal : nilai alas dan tinggi sudah diketahui} {K. Akhir : luas segitiga tercetak} DEKLARASI luas : real ALGORITMA: luas ← (alas*tinggi)/2 write (luas)‏

8 Penjelasan Kata kunci input pada parameter menyatakan bahwa alas dan tinggi adalah parameter masukan. Keadaan awal prosedur adalah kondisi dimana alas dan tinggi sudah berisi nilai sebelum pelaksanaan prosedur. Keadaan akhir prosedur adalah kondisi dimana luas segitiga tercetak. Program utama yang memanggil prosedur ini harus mendeklarasikannya dan memanggilnya dengan parameter aktual yang bersesuaian.

9 Contoh Algoritma Program Utama
PROGRAM Segitiga { Menghitung luas N buah segitiga } DEKLARASI i,N : integer a,t : real procedure Hitung_Luas(input alas, tinggi : real)‏ ALGORITMA: read (N) { tentukan banyaknya segitiga } for i  1 to N do read (a, t)‏ Hitung_Luas(a,t)‏ endfor

10 Penjelasan Nama parameter aktual tidak harus sama dengan nama parameter formal Perhatikan bahwa prosedur Hitung_Luas dipanggil dengan menyertakan nilai alas dan tinggi di dalam peubah a dan t Ketika prosedur Hitung_Luas dipanggil, maka nilai parameter aktual a dan t diisikan ke dalam parameter formal alas dan tinggi Karena yang penting adalah nilainya, maka parameter aktual boleh berupa ekspresi atau konstanta. Misalnya Hitung_Luas(a*0.2, t*0.1)‏ atau Hitung_Luas(12.0,6.0) adalah benar.

11 B. Parameter Keluaran Pada parameter keluaran, nilai parameter aktual ditugaskan ke dalam parameter formal. Perubahan nilai parameter di dalam badan prosedur tidak mengubah nilai parameter aktual. Karena yang penting adalah nilainya, maka nama parameter aktual boleh berbeda dari nama parameter formal yang bersesuaian.

12 Contoh Algoritma Prosedur
procedure Hitung_Luas(input alas, tinggi : real, output luas : real)‏ {Menghitung luas segitiga = (alasxtinggi)/2} {K. Awal : nilai alas dan tinggi sudah diketahui} {K. Akhir : luas berisi luas segitiga} DEKLARASI {tidak ada} ALGORITMA: luas ← (alas*tinggi)/2

13 Penjelasan Kata kunci output pada parameter menyatakan bahwa luas adalah parameter keluaran. Jika kita ingin luas segitiga dicetak di dalam program pemanggil, maka kita harus menyatakan luas sebagai parameter keluaran. Keadaan akhir prosedur adalah kondisi dimana luas segitiga selesai dihitung. Program utama yang memanggil prosedur ini harus mendeklarasikannya dan memanggilnya dengan parameter aktual yang bersesuaian.

14 Contoh Algoritma Program Utama
PROGRAM Segitiga { Menghitung luas N buah segitiga } DEKLARASI i,N : integer a,t,L : real procedure Hitung_Luas(input alas, tinggi : real)‏ output luas : real)‏ ALGORITMA: read (N) { tentukan banyaknya segitiga } for i  1 to N do read (a, t)‏ Hitung_Luas(a,t,L)‏ write(L)‏ endfor

15 Penjelasan Nama parameter aktual tidak harus sama dengan nama parameter formal Ketika prosedur Hitung_Luas dipanggil, maka nilai parameter aktual a dan t diisikan ke dalam parameter formal alas dan tinggi, sedangkan nama parameter aktual L menggantikan luas Pada jenis parameter keluaran ini, parameter aktual harus berupa peubah, tidak boleh konstanta atau ekspresi.

16 C. Parameter Masukan/Keluaran
Pada parameter masukan/keluaran dapat mengakomodasi masukan dari dan keluaran ke blok program pemanggil. Perubahan nilai parameter di dalam badan prosedur mengubah nilai parameter aktual. Parameter masukan/keluaran dideklarasikan di dalam header prosedur denga kata kunci input/output. Pada jenis parameter masukan/keluaran ini, parameter aktual harus berupa peubah, tidak boleh konstanta atau ekspresi.

17 Contoh Algoritma Prosedur
procedure Tukar(input/output A,B : integer) {Mempertukarkan nilai A dan B} {K. Awal : nilai A dan B sudah diketahui} {K. Akhir : A berisi nilai B lama dan B berisi nilai A yang lama} DEKLARASI temp : integer ALGORITMA: temp A A  B B  temp

18 Apa itu Fungsi? Sebuah fungsi adalah modul program yang mengerjakan tugas atau aktivitas yang spesifik dan mengembalikan sebuah nilai dari tipe tertentu, baik tipe dasar atau tipe bentukan. Baik fungsi maupun prosedur, keduanya merupakan modul program yang ekivalen, namun pada beberapa masalah ada kalanya kita lebih tepat menggunakan fungsi ketimbang prosedur, demikian juga sebaliknya.

19 Notasi Algoritmik Fungsi
function Nama_Fungsi (input parameter) { Berisi penjelasan apa yang dikembalikan fungsi } DEKLARASI { Semua nama yang dipakai di dalam fungsi } ALGORITMA: { Badan prosedur, berisi urutan instruksi } return ekspresi { Pengembalian nilai yang dihasilkan fungsi}

20 Pemanggilan Fungsi Fungsi dipanggil dari program pemanggil dengan
menuliskan nama_fungsi diikuti dengan parameter aktual. Nilai yang dikembalikan fungsi dapat diperlakukan dengan dua cara: Nilai yang dikembalikan oleh fungsi ditampung dalam sebuah peubah yang bertipe sama dengan tipe fungsi. Nilai yang dikembalikan oleh fungsi dapat langsung dimanipulasi.

21 Mengubah Fungsi menjadi Prosedur
Sebuah fungsi dapat dikonversi sebagai prosedur dengan cara menyatakan nilai yang dikembalikan oleh fungsi tersebut sebagai parameter keluaran pada prosedur.

22 Mengubah Prosedur menjadi Fungsi
Prosedur yang mempunyai satu buah parameter keluaran dapat ditulis dengan cara menyatakan parameter keluaran sebagai nilai yang dikembalikan oleh fungsi.

23 Contoh #1 Algoritma Fungsi
function Genap(input n : integer) Boolean {Mengembalikan true jika n genap atau false jika ganjil } DEKLARASI {tidak ada} ALGORITMA: return (n mod 2 = 0)

24 Contoh #1 Algoritma Program Pemanggil
PROGRAM Genap_Ganjil { Menentukan apakah sebuah bilangan genap atau ganjil } DEKLARASI x : integer function Genap(input n : integer)  boolean ALGORITMA: read (x) if Genap(x) then write(‘genap’) else write(‘ganjil’) endif

25 boolean Genap(int n) return (n % 2 = = 0); /* PROGRAM Genap_Ganjil */
{ Menentukan apakah sebuah bilangan genap atau ganjil } #include <stdio.h> typedef enum(0=false,1=true) boolean; boolean Genap(int n); main() { int x; printf(“Ketikkan sebuah bilangan:”);scanf(“%d”,&x); if (Genap(x)) printf(“genap \n”); else printf(“ganjil \n”); } boolean Genap(int n) return (n % 2 = = 0);

26 Contoh #2 Algoritma Fungsi
function Titik_Tengah(input P1,P2 : Titik) Titik { Mengembalikan titik tengah dari P1 dan P2 } DEKLARASI {tidak ada} ALGORITMA: Pt.x  (P1.x + P2.x)/2 Pt.y  (P1.y + P2.y)/2 return Pt

27 Contoh #2 Algoritma Program Pemanggil
PROGRAM Hitung_Titik_Tengah { Menghitung koordinat antara dua titik } DEKLARASI type Titik : record < x,y : real > P1, P2,Pt : Titik {Pt titik tengah antara P1 dan P2} function Titik_Tengah(input P1,P2 : Titik) Titik ALGORITMA: read (P1.x, P1.y) read (P2.x, P2.y) Pt  Titik_Tengah(P1,P2) write (Pt.x,Pt.y)

28 /* PROGRAM Hitung_Titik_Tengah */
{ Menghitung koordinat antara dua titik } #include <stdio.h> /* DEKLARASI GLOBAL */ typedef struct (float x,y;) Titik; Titik Titik_Tengah(Titik P1, Titik P2); /* Mengembalikan titik tengah dari P1 dan P2 /* main() { Titik P1,P2,Pt; printf(“ Masukkan koordinat titik P1: \n”); printf(“ x = ”);scanf(“%f”,&P1.x); printf(“ y = ”);scanf(“%f”,&P1.y); printf(“ Masukkan koordinat titik P2: \n”); printf(“ x = ”);scanf(“%f”,&P2.x); printf(“ y = ”);scanf(“%f”,&P2.y); Pt = Titik_Tengah(P1,P2); printf(“ Titik tengah : (%f,%f) \n”, Pt.x, Pt.y); }

29 Lanjutan Program Titik Titik_Tengah(Titik P1, Titik P2)
/* Mengembalikan titik tengah dari P1 dan P2 /* { Titik Pt; Pt.x = (P1.x + P2.x)/2; Pt.y = (P1.y + P2.y)/2; return Pt; }


Download ppt "TEL 2112 Dasar Komputer & Pemograman Prosedur"

Presentasi serupa


Iklan oleh Google