Pemrograman Modular adalah suatu teknik pemrograman di mana program yang biasanya cukup besar dibagi-bagi menjadi beberapa bagian program yang lebih kecil . Modul program dibuat agar suatu program mudah di-manage.
Menurut ketersediaannya, modul dibagi menjadi 2 yaitu modul baru(fungsi yang dibuat oleh si programmer) dan prepackaged(dari standard library)
Dalam C++, modul dibagi menjadi 2 yaitu Fungsi dan Class.
Fungsi
---------
Fungsi/function adalah suatu kumpulan instruksi/perintah/program yang dikelompokkan menjadi satu, letaknya terpisah dari program yang menggunakan fungsi tersebut, memiliki nama tertentu yang unik, dan digunakan untuk mengerjakan suatu tujuan tertentu.
Keuntungan Fungsi
1. Dapat melakukan pendekatan top-down dan divide-and-conquer:
2. Top-down: penelusuran program mudah
3. Divide-and-conquer: program besar dapat dipisah menjadi program-program kecil.
4. Kode program menjadi lebih pendek, mudah dibaca, dan mudah dipahami
5. Program dapat dikerjakan oleh beberapa orang sehingga program cepat selesai dengan koordinasi yang mudah.
6. Mudah dalam mencari kesalahan-kesalahan karena alur logika jelas dan sederhana Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.
7. Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruhan
8. Fungsi – fungsi menjadikan program mempunyai struktur yang jelas.
9. Dengan memisahkan langkah – langkah detail ke satu atau lebih fungsi – fungsi, maka fungsi utama (main) akan menjadi lebih pendek, jelas dan mudah dimengerti.
10. Fungsi -fungsi digunakan untuk menghindari penulisan program yang sama yang ditulis secara berulang – ulang. Langkah – langkah tersebut dapat dituliskan sekali saja secara terpisah dalam bentuk fungsi. Selanjutnya bagian program yang membutuhkan langkah – langkah ini tidak perlu selalu menuliskannya, tidak cukup memanggil fungsi tersebut.
11. Mempermudah dokumentasi.
12. Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain
Sifat-sifat fungsi
1. Nilai fan-in tinggi, artinya semakin sering suatu modul dipanggil oleh pengguna semakin tinggi nilai fan-in
2. Nilai Fan-out rendah, artinya semakin spesifik fungsi suatu modul akan semakin rendah nilai fan-out
3. Memiliki Self-contained tinggi: artinya kemampuan untuk memenuhi kebutuhannnya sendiri
Perancangan Fungsi
Dalam membuat fungsi, perlu diperhatikan:
1. Data yang diperlukan sebagai inputan
2. Informasi apa yang harus diberikan oleh fungsi yang dibuat ke pemanggilnya
3. Algoritma apa yang harus digunakan untuk mengolah data menjadi informasi
Deklarasi fungsi
Deklarasi fungsi diakhiri dengan titik koma . Tipe_data dapat berupa segala tipe data yang dikenal C ataupun tipe data buatan, namun tipe data dapat juga tidak ada dan digantikan dengan void yang berarti fungsi tersebut tidak mengembalikan nilai apapun. Nama fungsi adalah nama yang unik. Argumen dapat ada atau tidak (opsional) yang digunakan untuk menerima argumen/parameter. Antar argumen-argumen dipisahkan dengan menggunakan tanda koma. Suatu fungsi perlu dideklarasikan sebelum digunakan. Untuk alasan dokumentasi program yang baik, sebaiknya semua fungsi yang digunakan dideklarasikan terlebih dahulu Deklarasi fungsi ditulis sebelum fungsi tersebut digunakan
Struktur Fungsi
1. Tubuh Function/Definisi Function (FunctionDefinition)Terdiri dari:
2. function prototype yang disertai dengan kode implementasi dari function yang berisikan statemen/instruksi yang akan melakukan tugas sesuai dengan tujuan dibuatnya fungsi tersebut.
Bentuk Umum Definisi Fungsi
Tubuh fungsi dapat berisi segala perintah yang dikenal oleh C++, pada dasarnya tubuh fungsi sama dengan membuat program seperti biasa. Return bersifat opsional, adalah keyword pengembalian nilai dari fungsi ke luar fungsi, return wajib jika fungsi tersebut mengembalikan nilai berupa tipe data tertentu, sedangkan return tidak wajib jika fungsi tersebut bersifat void.
Kapan menggunakan Deklarasi dan Definisi Fungsi?
Karena prinsip kerja program C++ sekuensial, maka. Jika bagian dari program yang menggunakan fungsi diletakkan sebelum definisi dari fungsi, maka deklarasi dari fungsi diperlukan. Akan tetapi jika bagian dari program yang menggunakan fungsi terletak setelah definisi dari fungsi, maka deklarasi dari fungsi dapat tidak dituliskan.
Class
-------
Class adalah bentuk penyederhanaan dari suatu permasalahan yang berkaitan dengan objek. Kelas juga dapat didefinisikan sebagai sesuatu yang mempunyai data (sifat) dan fungsi (kelakuan). Class bersifat abstrak, oleh karena itu kita harus melakukan instansiasi dari class tersebut, selanjutnya instance (contoh nyata atau perwujudan) dari kelas tersebut juga sering dinamakan dengan objek, sebagi contoh manusia adalah suatu kelas maka instance atau objek dari manusia adalah Andi, Ani, Budi dan yang lainnya.
Dalam C++, kelas dibuat dengan menggunakan keyword class. Adapun bentuk umum pembuatannya yaitu :
Class nama_kelas {
Access_specifier1:
Data_members;
Member_functions;
………
Access_specifier2:
Data_members;
Member_functions;
………
………
};
Untuk membuat implementasi fungsi-fungsi yang terdapat pada suatu kelas, kita menggunakan operator :
Bentuk umum pembuatannya yaitu :
Tipe_data nama_kelas :: nama_fungsi(daftar_parameter) {
Statemen_yang_akan_dilakukan;
……..
}
Sedangka untuk mengakses data atau fungsi yang terdapat di dalam kelas tersebut, kita menggunakan tanda titik. Bentuk umum pembuatannya yaitu :
Nama_instance.data
Atau
Nama_instance.nama_fungsi(daftar_parameter)
Pointer
---------
Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam memori. Contoh, jika sebuah variabel berisi alamat dari variabel lain, variabel pertama dikatakan menunjuk ke variabel kedua.
Ada 2 operator pointer yang dikenal secara luas, yaitu operator & dan operator *.
Operator &
Operator '&' merupakan operator alamat. Pada saat pendeklarasian variable, user tidak diharuskan menentukan lokasi sesungguhnya pada memory, hal ini akan dilakukan secara otomatis oleh kompiler dan operating sysem pada saat run-time. Jika ingin mengetahui dimana suatu variable akan disimpan, dapat dilakukan dengan memberikan tanda ampersand (&) didepan variable , yang berarti "address of". Contoh :
ted = &andy;
Penulisan tersebut berarti akan memberikan variable ted alamat dari variable andy. Karena variabel andy diberi awalan karakter ampersand (&), maka yang menjadi pokok disini adalah alamat dalam memory, bukan isi variable. Misalkan andy diletakkan pada alamat 1776 kemudian dituliskan instruksi sbb :
andy = 25;
fred = andy;
ted = &andy;
Operator '*' merupakan operator reference. Dengan menggunakan pointer, kita dapat mengakses nilai yang tersimpan secara langsung dengan memberikan awalan operator asterisk (*) pada identifier pointer, yang berarti "value pointed by". Contoh :
beth = *ted;
(dapat dikatakan:"beth sama dengan nilai yang ditunjuk oleh ted") beth = 25, karena ted dialamat 1776, dan nilai yang berada pada alamat 1776 adalah 25.
Ekspresi dibawah ini semuanya benar, perhatikan :
andy = 25;
&andy = 1776;
ted = 1776;
*ted = 25;
Ekspresi pertama merupakan assignation bahwa andy = 25;. Kedua, menggunakan operator alamat (address/derefence operator (&)), sehingga akan mengembalikan alamat dari variabel andy. Ketiga bernilai benar karena assignation untuk ted adalah ted = &andy;. Keempat menggunakan reference operator (*) yang berarti nilai yang ada pada alamat yang ditunjuk oleh ted, yaitu 25. Maka ekspresi dibawah ini pun akan bernilai benar :
*ted = andy;
Deklarasi Pointer
Seperti halnya variabel lain, variabel pointer juga harus dideklarasikan terlebih dahulu sebelum digunakan. Bentuk umum deklarasi pointer adalah :
Dimana Tipe_data
merupakan tipe dari data yang ditunjuk, bukan tipe dari pointer-nya. Contoh :
1. Mensubstitusikan address sebuah variabel ke pointer dengan memakai address operator &
int x;
int *ptr;
ptr = &x;
2.Mensubstitusikan address awal sebuah array ke pointer
char t[5];
char *ptr;
ptr = t;
3.Mensubstitusikan address salah satu elemen array dengan address operator
char t[5] ;
char *ptr;
ptr = &t[3];
4.Mensubstitusikan address awal character string ke pointer char
char *ptr;
ptr = "jakarta"
5.Mensubstitusikan NULL pada pointer. NULL ada pointer kosong, menunjukkan suatu status dimana pointer itu belum diinisialisasikan dengan sebuah address tertentu.
6.Memakai fungsi MALLOC.
Jumat, 16 Oktober 2009
Jumat, 25 September 2009
Contoh Program C++







Program diatas merupakan contoh program sederhana untuk sebuah toko es krim. Program tersebut dibuat untuk membantu para karyawan toko es krim tersebut untuk membuat daftar pembelian sekaligus laporan penjualan.
Awal program menampilkan nama toko es krim dan alamatnya. Setelah itu karyawan/kasir diminta memasukkan bulan, nama pembeli, nama kasir dan jumlah data. Setelah itu program akan mengkonversi kode ke dalam nama dan harga es krim. Jika kode yang dimasukkan bukan A, B atau C maka akan tercetak pemberitahuan bahwa kode yang dimasukkan salah. Kemudian akan tercetak pilihan untuk ulang kembali. Apabila menginputkan Y, maka program akan kembali dari awal. Apabila N, maka program akan selesai dan akan mengeksekusi perintah selanjutnya.
Setelah itu, program akan mencetak Nama pesanan, harga pesanan dan jumlah pembelian. Program langsung menghitung berapa total harga semua pesanan. Jika jumlah pembelian lebih dari 5 es krim, maka akan dipotong diskon sebesar 10%. Jika tidak, maka tidak di diskon. lalu program akan menghitung total pembelian yang sudah dikurangi diskon.
Berikutnya program akan mencetak laporan penjualan untuk bulan tertentu. Lengkap dengan perinciannya. Setelah tercetak semua, program akan mencetak pilihan untuk menginput kembali. Apabila kita menginputkan Y, maka program akan kembali dari awal. Apabila N, maka program akan selesai dan akan mengeksekusi perintah selanjutnya.
Di akhir program akan mencetak "Thank You and Enjoy Your Ice Cream :)" dan program pun selesai.
Label:
c++,
contoh program
Senin, 14 September 2009
Bahasa Pemrograman C++
Sejarah C++
Tahun 1978, Brian W. Kerninghan & Dennis M.Ritchie dari AT&T Laboratories mengembangkan bahasa B menjadi bahasa C. Bahasa B yang diciptakan oleh Ken Thompson sebenarnya merupakan pengembangan dari bahasa BCPL (Basic Combined Programming Language) yang diciptakan oleh Martin RIchard.
Sejak tahun 1980, bahasa C banyak digunakan pemrogram di Eropa yang sebelumnya menggunakan bahasa B dan BCPL. Dalam perkembangannya, bahasa C menjadi bahasa paling populer diantara bahasa lainnya, seperti PASCAL, BASIC, FORTRAN.
Tahun 1989, dunia pemrograman C mengalami peristiwa penting dengan dikeluarkannya standar bahasa C oleh American National Standards Institute (ANSI). Bahasa C yang diciptakan Kerninghan & Ritchie kemudian dikenal dengan nama C ANSI .
Bahasa C++ diciptakan oleh Bjarne Stroustrup di AT&T Bell Laboartories awal tahun 1980-an berdasarkan C ANSI. Pertama kali, prototype C++ muncul sebagai C yang dipercanggih dengan fasilitas kelas. Bahasa tersebut disebut dengan C kelas(C with class). Selama tahun 1983-1984, C dengan kelas disempurnakan dengan menambahkan fasilitas pembebanlebihan operator dan fungsi yang kemudian melahirkan apa yang disebut C++. Symbol ++ merupakan operator C untuk operasi penaikan, muncul untuk meweujudkan bahwa bahasa baru ini merupakan versi yang lebih canggih dari C.
Borland International merilis compiler Borland C++ dan Turbo C==. Kedua compiler ini sama-sama dapat digunakan untuk mengkompilasi kode C++. Bedanya, Borland C++ selain dapat digunakan dibawah lingkungan DOS, juga dapat digunakan untuk pemrograman Windows. Selain Borland International, beberapa perusahaan lain juga merilis Compiler C++, seperti TOPspeed C++ dan Zortech C++.
Perbandingan contoh program yang menggunakan Bahasa C dan C++


Tentang C++
Reputasi C tidak diragukan lagi dalam menghasilkan program .EXE berukuran kecil, eksekusi yang cepat, antarmuka (interfacing) yang sederhana dengan bahasa lain dan fleksibilitas pemrograman. Apa yang membuat C tampak sukar dipelajari mungkin karena tiadanya pemeriksaan tipe. Sebagai contoh, dapat mencampur bilangan bulat dengan string untuk menghasilkan karakter. Namun, justru dsitu letak fleksibilitas C, dapat mengolah data C sebebas mengolah data dalam bahasa assembly.
BORLAND C++
Dibandingkan compiler C++ yang lain, Borland C++ memiliki keunggulan terutama dalam hal kecepatan dan efisiensi kompilasi. Disamping itu, Borland C++ mendukung beberapa system operasi yaitu DOS, Windows 16bit (Window 3.0) dan windows 32 bit (Windows NT).
Meskipun demikian compiler Borland C++ juga memiliki kelemahan bila dibandingkan compiler C++ yang lain, misalnya : pemrograman dengan Borland C++ terutama yang menyangkut tampilan jauh lebih sulit daripada pemrograman dengan Microsoft Visual C++.
STRUKTUR BAHASA C++
Program C maupun C++ selalu tersusun dari 4 (empat) bagian utama, yaitu :
1. Bagian komentar yang ditandai dengan symbol // dan pasangan /* … */
2. Bagian pengarah compiler yang ditandai dengan symbol #
3. Bagian deklarasi
4. Bagian definisi
Komentar
Program yang baik pada umumnya diberi komentar yang akan membantu orang lain maupun pembuat program itu untuk memahami program yang dibuat. Dalam C atau C++ setiap tulisan yang diapit oleh symbol /* … */ atau setiap baris yang dimulai dengan symbol // dianggap komentar. C++ tidak mengizinkan komentar bersarang ( nested comment), namun Borland C++ lebih fleksibel dalam hal ini.
Contoh C++ menggunakan komentar:

Tipe data dasar
Pengarah Compiler
1. # define
2. # include
3. # if, # else, # elif, # endif
4. # ifdef, # ifndef
Pengarah Compiler #define
Untuk mendefinisikan suatu pengenal / konstanta yang nantinya akan digantikan oleh praprosesor saat program dikompilasi.
Contoh Program :

Pengarah compiler #include
Berfungsi membaca file program tertentu dan mengikutsertakan file tersebut dalam proses kompilasi. Nama file yang dimaksud harus diapit symbol ‘ < ‘ dan ‘ > ‘ atau tanda kutip dua ( “ … “ ).
Pengarah compiler #if, #else, #elif, #endif
Digunakan untuk memilih bagian program yang akan dikompilasi. Kompilasi cari ini disebut kompilasi bersyarat dan program yang baik biasanya memanfaatkan teknik ini.
Pengarah compiler #ifdef, #ifndef
Digunakan juga dalam kompilasi bersyarat.
# Ifdef dapat dibaca : ‘jika didefinisikan’ dan # ifndef dapat dibaca : ‘jika tidak didefinisikan’. Pengarah compiler ini sering digunakan untuk menandai bahwa suatu file sudah diikutsertakan dalam kompilasi
Bagian deklarasi dan definisi
Semua program C pada dasarnya tersusun dari rangkaian pemanggilan fungsi yang bekerja atas sekelompok data. Selain pemanggilan fungsi, program C mengandung komponen lain yang disebut statement.
Statement C ada dua, yaitu : statement yang tidak dapat dieksekusi / non executable ( bila dikompilasi tidak menghasilkan kode objek dan biasanya digunakan untuk mengatur alur program), dan statement yang dapat dieksekusi / executable (bila dikompilasi akan menghasilkan kode objek). Setiap pemanggilan fungsi maupun statement executable dalam C harus diakhiri dengan tanda titik koma ( ; ).
Contoh program C++:

Output
Di ANSI C, operasi input dan output dilakukan dengan menggunakan fungsi-fungsi yang ada di header file stdio.h. contohnya untuk input dan output ke layer monitor digunakan perintah seperti printf, scanf, putch, dsb. Untuk input dan output ke file digunakan perintah seperti fread, fwrite, fputc, dsb.
C++ mempunyai teknik input dan output yang baru, yaitu : menggunakan stream. Header file untuk input dan output stream adalah iostream.h dan beberapa file lain, seperti strstrea.h, fstream.h, dan constrea.h. Stream adalah suatu logika device (peralatan logika) yang menghasilkan dan menerima informasi atau suatu wadah yang digunakan untuk menampung keluaran dan menampung aliran data. Stream adalah nama umum untuk menampung aliran data (contoh : file, keyboard, mouse), maupun untuk keluaran (contoh : layer, printer).
Dalam C++ input berarti membaca dari stream dan output berarti menulis ke stream.
Dalam C++, menggunakan escape sequences untuk
merepresentasikan suatu karakter yang tidak terdapat dalam tradisional
symbol. Beberapa diantaranya :
\ n : linefeed / baris baru
\ b : back space
\ “ : petik ganda
Contoh program versi ANSI C:

Contoh program versi C++ :
Contoh program untuk input dan output:
Langganan:
Postingan (Atom)
