Pemrograman Besar 1 Penggunaan Abstraksi untuk Memanage Kompleksitas Prosedur Abstraksi Abstraksi yang memudahkan user untuk menspesifikasikan apa yang kita harapkan dari suatu fungsi untuk melakukan dan kemudian menggunakan fungsi tersebut untuk mendesain solusi dari sebuah permasalahan sebelum kita tahu bagaimana cara untuk permasalahan sebelum kita tahu bagaimana cara untuk mengimplementasikan fungsi tersebut. Initial algorithm Program Outline 1. Open inventory file 2. Get the search Parameter 3. Display all metals that statisfy the search parameters f open () get-params () Display-match () 2 Abstraksi data Abstraksi yang memilah antara logic view dan physics view pada sebuah objek data yang telah tersimpan. Penyembunyian informasi Proses untuk melindungi detail implementasi Konsep abstraksi Proses untuk melindungi detail implementasi dari suatu modul yang lebih rendah oleh modul yang lebih tinggi. Reusable Code Suatu kode yang dapat digunakan berulang- ulang pada berbagai aplikasi yang berbeda, yang dapat dipilih tanpa perlu dimodifikasi atau di-kompile ulang. 3 Personal Libraries : Header Files Header File Digunakan sebagai prasarana dalam membuat personal library. Header file berupa text file yang berisi informasi yang dibutuhkan compiler saat mengeksekusi program yang menggunakan mengeksekusi program yang menggunakan fungsi yang ada dalam library. Contoh header file beserta program yang memanggil: - planet.h (link) - planet.c (link) 4 Personal Libraries : Implementation Files Librarys implementation file adalah source file C yang mencakup kode-kode dari semua fungsi library yang ada dan beberapa informasi lain yang diperlukan untuk menjalankan fungsi tersebut. tersebut. Elemen-elemen dari file implementasi sama dengan elemen-elemen dari program lain dan memiliki banyak kemiripan dengan elemen- elemen dari librarys header file. 5 Beberapa elemen tersebut ialah: 1. Komentar blok yang menjelaskan tujuan dari library. 2. #include yang merupakan perintah dari header file library yang diperlukan fungsi-fungsi. 3. #define yang digunakan untuk penamaan Personal Libraries : Implementation Files-2 3. #define yang digunakan untuk penamaan konstanta makro yang digunakan hanya dalam library tsb. 4. Pendefinisian tipe data yang digunakan hanya dalam library tsb. 5. Pendifinisian fungsi termasuk perintah-perintah umum. 6 Langkah-langkah menggunakan personal library: 1. Membuat file header yang mencakup semua informasi yang dibutuhkan program yang menggunakan library ini. 2. Membuat file implementasi yang menggunakan Personal Libraries : Implementation Files-3 2. Membuat file implementasi yang menggunakan kode dari fungsi library tersebut. 3. Membaca (compiling) file implementasi. 4. Memasukkan header file library (#include) dalam program. 5. Setelah membaca (compiling) program, masukkan object file yang terbentuk. 7 Storage class Variabel lokal Variabel global Static Register Register 8 Variabel Lokal Variabel lokal Merupakan variabel yang dideklarasikan di dalam suatu fungsi sehingga variabel ini hanya dapat digunakan dalam fungsi tersebut. Contoh : Contoh : #include <stdio.h> void main() { int x=3; //variabel local int y=6; printf("Hasil perkalian bilangan %d dengan %d adalah: %d\n", x,y,x*y); } 9 Variabel global Merupakan variabel yang dideklarasikan di luar fungsi sehingga variabel ini dapat digunakan dalam semua fungsi yang ada dalam program. Contoh : #include <stdio.h> int x=3; //variabel global int y=6; Variabel Global int y=6; int kali() { int hasil=x*y; return hasil; } void main() { printf("Hasil perkalian bilangan %d dengan %d adalah: ", x,y); printf("%d", kali()); } 10 Static adalah salah satu jenis storage class yang digunakan untuk mendeklarasikan suatu variabel dan hanya dibaca sekali. Setelah program melakukan inisialisasi awal, maka untuk yang berikutnya akan diabaikan Static untuk yang berikutnya akan diabaikan keberadaannya. . 11 Register adalah storage class untuk variabel otomatis yang ingin disetorkan programmer dalam register. Register 12 Referensi Bab 13, Programming in Large, Problem Solving and Program Design in C, Jeri R. Hanly dan Elliot B. Koffman, Addison Wesley, 2002 Wesley, 2002 13