Pertemuan 4 Modularitas

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek
Advertisements

STRUKTUR DATA (5) Pointer dan Function
Modular Programming Slamet Kurniawan, S.Kom.
Linked List.
7. STRUCT.
Algoritma dan Struktur Data Daniel Riano Kaparang.
Subprogram Minggu V – VI
Queue.
Algoritma dan Struktur Data
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
Pemrograman JAVA (TIB09)
Review-Dasar Pemrograman Komputer
ARRAY OF STRUCT Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
Pemrograman Berorientasi Obyek
STRUKTUR DATA (5) Pointer dan Function
Algoritma & Struktur Data Linked List Evangs Mailoa.
Struktur Data List Linear : Linked List (Double Linkedlist)
STRUKTUR DATA Pointer dan Function
Algorithm and Data Structures.
Algoritma dan Struktur Data
Structure Data - Array Pertemuan 7 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
STRUCT OF ARRAY Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
Teknik Pemrograman Terstruktur Linked lis & Inheritance 1/12 Pointer (Lanjutan…) Pemrograman Berorientasi Objek.
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Struktur Data List Linear : Linked List (Single Linkedlist)
Pemrograman Berorientasi Obyek Lanjut (IT251)
1 Pertemuan 17 Polymorphism Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
1 Pertemuan 9 Inheritance Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
1 Pertemuan 2 Function & Pointer Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
1 Pertemuan Fungsi Matakuliah: T0016 / Algoritma dan Pemrograman Tahun: 2007 Versi: 6.
1. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Mendemonstrasikan penggunaan fungsi serta pengiriman parameter 2.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Pertemuan 5 STACK & QUEUE
Pertemuan ke 3 Algoritma dan struktur data
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
1 Pertemuan 5 Teknik Modular Matakuliah: H0112 – Pemrograman Bahasa Tingkat Tinggi Tahun: 2005/2006 Versi: >
Pertemuan 7 stack jual [Valdo] Lunatik Chubby Stylus.
Fungsi dan Prosedur.
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Algoritma dan Struktur Data
1 Pertemuan 8 Structure Data Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Pertemuan 8 Stack dengan Array
Pertemuan 9 Stack dengan Linked-list
1 Pertemuan 7 Queue dengan Linked-list Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
1 Pertemuan 12 Template Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
NAMA : siti hajar NIM : UNIT : b NO.hp : 0852 –
Matakuliah : H0112 – Pemrograman Bahasa Tingkat Tinggi
8. Singly Linear Linked List
Defri Kurniawan ADT STACK Defri Kurniawan
Abstract Data Type (ADT) and Stack Array
STRUKTUR DATA QUIZ.
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
Pertemuan 4 Abstract Data Type
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Fondasi Pemrograman & Struktur Data
Algoritma dan Struktur Data
Polymorphism Pertemuan 23-24
KELOMPOK 9 ROBBY SETIAWAN AKBAR BAI ALIM WASSAHUA
TEAM 1 Cut Hayatul Wardani ( ) Saputri Phonna ( ) Azhary (140502)
Pertemuan 3 Variabel/Dinamik Pointer
Pertemuan 5 Review Berbagai Struktur Data
Struktur Data Yuniansyah.
Pertemuan 9 Pemrograman Berbasikan Objek
Pemrograman Berorientsi Objek Pertemuan 15
Algoritme dan Stuktur Data
Gambaran Kuliah Pemrograman Terstruktur
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
Defri Kurniawan ADT STACK Defri Kurniawan
Transcript presentasi:

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

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

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

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 ()

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.

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.

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.

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

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 **);

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.

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.

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.

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