Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pertemuan 4 Modularitas

Presentasi serupa


Presentasi berjudul: "Pertemuan 4 Modularitas"— Transcript presentasi:

1 Pertemuan 4 Modularitas
Matakuliah : H0112 – Pemrograman Bahasa Tingkat Tinggi Tahun : 2005/2006 Versi : <<versi/revisi>> Pertemuan 4 Modularitas

2 Mengerti mengapa konsep modular dalam pemrograman penting.
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mengerti mengapa konsep modular dalam pemrograman penting.

3 Interface versus Implementasi Keuntungan Penggunaan Interface
Outline Materi Modularitas Interface versus Implementasi Keuntungan Penggunaan Interface Dekomposisi File Abstraksi Data Abstraksi Data dan Modul

4 Modularitas Module: sebuah unit organisasi dari sebuah sistem software. groups together some functions, data, types, etc. Contoh: beberapa fungsi string pada standar library C-string menyembunyikan detail implementasi dari user (information hiding). cth: variabel lokal dalam fungsi C, tidak dapat diakses oleh fungsi pemanggil atau main ()

5 Interface versus Implementasi
Users dan pembuat module, memiliki pandangan yang berbeda tentang module itu sendiri. Interface: point akses users terhadap sebuah module. menjelaskan kepada users apa yang perlu diketahui dalam mempergunakan sebuah module. membuat module mudah digunakan dan dimengerti menjelaskan service apa yang suatu module sediakan, bukan bagaimana module tersebut menyediakannya.

6 Keuntungan Penggunaan Interface
Users dapat membuat program mereka, sebelum suatu module selesai dibuat. Program Users dan program module dapat di-kompile secara terpisah. Implementasi Module dapat diubah (cth: perbaikan kesalahan (bug), struktur data atau algoritma yang lebih baik) tanpa mengubah atau meng-kompile ulang program users.

7 Dekomposisi File Interface: file header (.h) berisi deklarasi dari fungsi, konstanta, variabel, users-defined type untuk penggunaan scope data public. Serta menyertakan “comments” bagi users. Implementation: file source (.c) berisi definisi dari suatu fungsi, beserta dengan konstanta lokal, variabel, dan users-defined type untuk scope data private. Serta menyertakan “comments” bagi pembuat module tersebut.

8 Dekomposisi File Users menyertakan file header yang mereka gunakan melalui <#include the header files’s name>. Perhatikan hal ini cukup untuk meng-kompile program Users. Modules juga menyertakan file header mereka, sehingga kompiler c dapat mencek konsistensi program module sebelum mencapai tahap linking (compile then link). Slide berikutnya berisi contoh sebuah interface pada servis fungsi linked-list.c

9 File header untuk linklist2.c
Dekomposisi File File header untuk linklist2.c /* Sorted linked lists of chars */ /* Linked list nodes are of type node_t */ typedef struct element { char contents; struct element *next; } node_t; /* Inserts new node with contents `key', keeping sorted. `ptr_to_head’: address of pointer to head of list */ int insertNode(node_t **ptr_to_head, char key); /* ... */ int deleteNode(node_t **ptr_to_head, char); void traverse(node_t *head); void deleteAllNodes(node_t **);

10 Abstraksi Data Abstract Data Type (ADT): Sekumpulan data dan sekumpulan instruksi yang beroperasi pada data tersebut, dimana operasi tersebut bersifat independen (tidak tergantung) pada implementasi module. Contoh: stacks dan lists. Deskripsi sebuah Stack ADT: Stack menyimpan data melalui mekanisme push dan pop dan memiliki sifat LIFO (Last In First Out), artinya data yang masuk akan sesuai dengan urutannya, tetapi data yang dikeluarkan memiliki urutan yang terbalik.

11 Abstraksi Data dan Modul
Hanya ada satu stack ADT, tetapi ada banyak kemungkinan untuk meng-implementasikannya. Suatu implementasi dapat menggunakan struktur data tertentu dan memiliki fungsi yang memanipulasi struktur data tersebut. Didalam bahasa C, seseorang dapat mengimplementasikan stack ADT dengan link-list atau dengan array. Operasi yang terdapat pada stack ADT merupakan fungsi yang dideklarasikan pada file interface (file header .h). Sedangkan detail bagaimana operasi tersebut bekerja, tidaklah perlu diketahui dari sisi Users.

12 Topik Minggu Depan Modularitas (bersambung…)
Kohesi Kopling Reusability Working in Team Unit Testing Tugas 1: (Kompleks) Observasi pada program “gaussian elemination”, buku pustaka no 1 (halaman: lihat pada index tentang “Gaussian Elemination”), khususnya pada pembagian program kedalam beberapa module.

13 Tugas 2: Bagaimana LCD (Liquid Crystal Display) bekerja dan bagaimana mengkontrol LCD menggunakan komputer? – buku pustaka no:2 halaman 75.


Download ppt "Pertemuan 4 Modularitas"

Presentasi serupa


Iklan oleh Google