Tugas : Mis. Dinda Sukmaningrum, ,S.Kom,MM.
1. Pemrograman Modular
Arti : metode untuk mendesign perangkat lunak atau software dengan cara memecah kompunen - komponen suatu program yang besar menjadi bagian - bagian yang lebih kecil.
Ciri-ciri :
a. modul yang di bentuk mempunyai kesatuan atau tugas fungsi maupun kesatuan proses.
b. setiap module harus memiliki single entry dan single exit secara berurutan dari atas ke bawah atau dari awal hingga akhir.
c. memiliki main program dan sub program atau modal.
d . lebih sering menggunakan Strukture Chart.
Keunggulan : a. mudah penggunaan.
b.mudah memodifikasi
c.mengendalikan kompleksitas program dan meningkatkan modifiabilitas.
d.penyembunyian informasi baik variabel maupun metoda.
2. Perbedaan bahasa C dengan C++
C merupakan bahasa pemrograma prosedural, di mana penyelesaian atas suatu masalah di lakukan dengan membagi - bagi masalah tersebut ke dalam sub - sub masalah yang lebih kecil.
C++ merupakan bahasa pemrogaman yang memiliki sifat Object Oriented Programing (OOP). Untuk menyelesaikan suatu masalah, C++ melakukan langkah pertama dengan mendefinisikan class - class yang meruakan a.class yang di buat sebelumnya sebagai abstraksi dari objek-objek fisik. Class tersebut berisi keadaan objek, anggota - anggotanya, dan kemampuan dari objeknya. Setelah beberapa Class di buat masalah di pecahkan menggunakan class.
Contoh Program :
#include
void main()
{
cout<<"program pertama\n";
}
Keterangan
Line 1 : #include
Sebagian dari proses compile, compiler dari C++ menjalankan program yang di namakan preprosesor. Preposesor memiliki kemampuan menambah dan mengapus kode dari file sumber. Pada contoh ini, directive #include memberitahu preposesor untuk menyertakan kode dari file iostream. File iostream tersebut berisi deklarasi untuk berbagai fungsi yang di butuhkan oleh program, atau class-class yang di butuhkan.
Line 2 : void main()
Pernyataan itu mendeklarasikan fungsi utama, bahwa suatu program C++ dapat berisi banyak fungsi, tetapi harus memiliki sebuah fungsi utama (main function). Fungsi adalah modul yang berisi kode-kode untuk meyelesaikan masalah - masalah tertentu. Kata "void" menandakan fungsi main tidak bertipe. Tipe - tipe fungsi ataupun variable akan di bahas kemudian.
Line 3 : {
Kurung kurawal buka menandakan awal program
Line 4 : cout<<"program pertama\n";
Cout adalah objek dari sebuah library standar C++ yang di gunakan untuk mencetak string ke peranti output standar, yang biasanya adalah layar komputer kita. Compuler menghubungkan kode dari library standar itu dengan kode yang telah kita tuliskan untuk mendapatkan hasil yang executable. Tanda "\n" adalah formal modifiler yang di gunakan untuk berganti baris setelah menampilkan string. Jika ada cout lain pada program tersebut, maka string yang menyertainya akan di tuiskan pada baris dibawahnya.
Line 5 : }
Kurung kurawal tutup menandakan akhir program.
3. Jelaskan
a. Bag komentar pada bahasa C++
Komentar merupakan bagian penting dalam suatu program.
Komentar dapat berupa :
b.Bag paragraph compile dalam bahasa C++ / Preprosessor
Bahasa C++ mencakup beberapa instruksi preprocessor yang digunakan untuk memberikan suatu perintah pada compiler. Instruksi-instruksi preprocessor tersebut adalah :
#define
#elif
#else
#endif
#error
#if
#ifdef
#ifndef
#include
#inline
#pragma
#undef
Masin-masing fungsi tersebut di atas akan dijelaskan secara singkat di dalam bab ini. (Instruksi yang berhubungan dengan #elif, #else, #endif, #ifdef dan #ifndef semuanya dijelaskan dalam #if)
#define
“#define” digunakn untuk melaksanakan subtitusi makro dari satu lembar teks ke lembar teks yang lainmelalui suatu file dimana teks tersebut digunakan. Berikut ini bentuk yang biasa dipakai :
#define name character-sequence
Perhatikan bahwa dalam perintah ini, tidak ada tanda titik koma. Selanjutnya diawal bila karakter awal telah berhasil maka dia akan berhenti hanya pada akhir baris. Contoh, jika ingin memakai “TRUE” untuk angka 1 dan “FALSE” untuk angka 0, maka kita buat dua #define makro :
#define TRUE 1
#define FALSE 0
Pada contoh tersebut, compiler akan mengganti 1 dan 0 setiap menjumpai TRUE dan FALSE.
Instruksi #define mempunyai feature kuat yang lain : suatu makro dapat mempunyai argument. Makro yang mempunyai argument akan bekerja hampir sama dengan fungsi. Satiap ditemukan makro, maka argument akan bergabung dangan makro yang ditempatkan oleh argument actual tersebut yang berada pada program.
Contoh :
#include
#define ABS(a) (a)<0 ? – (a) : (a)
main(void)
{
printf("abs of -1 and 1: %d %d", ABS(-1), ABS(1));
return 0;
}
Ketika program tersebut decompile, “a” pada defenisi makro akan diganti dengan angka -1 dan 1, tanda kurung yang ada di “a” sangat diperlukan untuk meyakinkan subtitusi pada semua hal yang semestinya.
Contoh, jika tanda kurung pada “a” dihilangkan maka ekspresi :
ABS(10-20)
akan dikembalikan pada :
10-20<0 ? -10-20 :10-20
Dan akan mempunyai hasil yang salah.
Penggunaan subtitusi makro pada tempat yang riil, mempunyai satu keuntungan utama : yaitu akan mempercepat kode karena tidak ada “overhead” untuk panggilan fungsi yang didatangkan.
Namun demikian, percepatan tersebut akan membuat program semakin besar. Hal ini desebabkan karena adanya duplikat kode.
#error
Instruksi #error akan memaksa compiler untuk menghentikan suatu Kompilasi. Pada dasarnya #error ini digunakan pada “debugging”. Berikut ini bentuk yang biasa dipakai.
#error message
Jika dijumpai #error, maka akan terlihat suatu pesan dan angka baris.
#if, #ifdef, #ifndef, #else, #elif, #endif
Instruksi-instruksi processor tersebut digunakan pada beberapa porsi variasi compile program secara selektif. Logika yang umum adalah bahwa jika suatu ekspresi setelah #if, #if def atau #ifndef adalah benar, maka kode yang berada diantara salah satu dari meraka dan #endif, akan tersusun, tapi jika yang terjadi sebaliknya, maka akan terlewati. #endif digunakan untuk menandai akhir suatu blok. Instruksi #else dapat digunakan dengan salah satu dari mereka denga cara yang sama, yaitu dengan “else” pada perintah C.
Beerikut ini bentuk yang biasa dipakai pada #if :
#if constant-ekspresion
Jika ekspresi konstanta tersebut benar, mka blok kode akan tersusun.
Berikut ini bentuk yang biasa dipakai pada #ifdef :
#ifdef macro-name
Jika nama makro (macro-name) telah ditentukan dengan perintah #define, maka blok kode berikutnya akan tersusun.
Contoh berikut ini adal;ah tentang cara beberapa instruksi preprocessor yang bekerja dengan code :
#include
#define ted 10
main(void)
{
#ifdef ted
printf (“Hi Tex\n”);
#endif
printf (“bye-bye\n”);
#of 10<9
printf (“Hi George\n”);
#endif
}
Program tersebut akan mencetak “Hi Ted” dan “bye-bye” pada layar, tapi bukan “Hi George”. Instruksi #elif digunakan untuk membuat suatu perintah “if-else-if”. Berikut ini bentuk yang seering dipakai :
#elif constant-expression
#elif dapat digunakan dengan #if, tapi tidak dengan #ifdef atau ifndef.
Kita juga dapat menggunakan #if atau #elif untuk menentukan jika macro name telah didefinisikan dengan menggunakan operator “defined” preprocessing.
Bentuk yang biasa dipakai adalah :
#if defined macro-name
statement sequence
#endif
Jika nama makro telah didefinisikan, maka perintah yang benar akan tersusun, jika sebaliknya maka akan terlompati. Misalnya, program ini akan menyusun conditional code, karena “DEBUG” telah didefinisikan oleh program :
#include
#define DEBUG
main()
{
int i=100;
/*…*/
#if defined DEBUG
printf (“value of i is : %d/n”, i);
#endif
/*…*/
}
Kita juga dapat mendahulukan “defined” dengan operator ! untuk menjadikan compilasi conditional jika macro tidak didefinisikan.
#include
Instruksi preprocessor #include akan memerintah compiler untuk membaca dan menyusun file sumber yang lain.
Bentuk yang biasa dipakai adalah :
#include “filename”
#include
File sumber yang akan dibaca harus ditutup antara dua tanda petik atau dua tanda kurung lancip. Jika nama file ditutup dengan tand a kurung lancip, maka file akan dicari dengan cara yang telah ditentukan oleh kreasi dari compiler.
Sering kali hal ini berarti suatu pencarian beberapa directory khusus yang didalamnya terdapat file.
Jika nama file ditutup dengan tanda kurung, maka file akan dicari dengan cara lain yang telah ditentukan implementasinya. Pada beberapa implementasi hal ini berarti pencarian directory yang sedang aktif. Jika file tidak ditemukan mala pencarian akan diulang seolah nama file ditutp dengan tanda kurung lancip.
#include dapat diletakkan pada file-file yang ada lainnya. Contoh :
#include “stdio.h”
Akan memerintah compiler C untuk membaca dan menyusun header untuk file disk library rutin.
#line
Instruksi #line , diguanakn untuk mengubah isi dari “_LINE_” dan “_FILE_”, yang telah ditentukan pada compiler. Berikut ini bentuk utama dari command tersebut.
#line number “filename”
Dimana number adalah suatu integer positif, dan “filename” adalah file identifier yang valid. number akan menjadi angka baris sumber dan “filename” akan menjadi nama file sumber. Nama dari file dalah optional. #line pada dasarnya digunakan untuk debugging suatu tujuan dan aplikassi khusus.
Identifier “_LINE_” adalah suatu integer, dan “_FILE_” adalah suatu string yang diakhiri nol.
Contoh berikut akan menset counter baris pada IO dan file pada “test”.
#line IO “test”
#pragma
Instruksi #pragma adalah suatu instruksi yang telah didefiniskan implementasinya, yang memungkinkan suatu variasi instruksi yang diberikan pada compiler. Contoh suatu compiler mungkin mempunyai suatu pilihan mendukung pembuatan penggandaan program. Pilihan penggandaan (trace), kemudian akan ditentukan oleh perintah #pragma.
#undef
Instruksi #undef digunakan untuk memindah definisi yang telah ditentukan sebelumnya dari nama makro yang mengikutinya. Berikut ini bentuk yang biasa dipakai.
#undef macro-name
Contoh pada program berikut ini :
#define LEN 100
#define WIDTH 100
char array [LEN] [WIDTH];
#under LEN
#under WIDTH
/* at this point both LEN and WIDTH are undefined */
“LEN” dan “WIDTH” ditentukan hingga dijumpai perintah #undef. Prinsip penggunaan #undef adalah untuk memungkinkan nama makro ditempatkan hanya pada bagian-bagian code yang memerlukannya.
Operator Processor # dan ##
ANSI C menyediakan dua operator processor, yaitu : # dan ##. Operator ini digunakan pada makro #define. Operator # akan menyebabkan argument yang didahului untuk dikembalikan pada string kutipan.
Contoh , perhatikan program berikut ;
#include “stdio.h”
#define mkstr(s) #s
main(void)
{
printf(mkstr(I like C++));
return 0;
}
Processor C akan mengembalikan baris :
printf(mkstr(I like C++));
pada
printf(“I like C++”);
Operator ## digunakan untuk menghubungkan dua tanda secara bersama-sama.
Contoh, perhatikan program berikut :
#include “stdio.h”
#define concat(a, b) a ##b
main(void)
{
int xy=10;
printf(“%d”, concat(x, y));
return 0;
}
Processor akan berubah bentuk dari
printf(“%d”, concat(x, y));
menjadi
printf(“%d”, xy);
jika operator ini terasa aneh bagi kita, ingatlah bahwa operator-operator tersebut jarang digunakan pada hampir semua program C. Operator-operator tersebut hanya terdapat pada program dengan fungsi untuk memungkinkan hal-hal tertentu yang ditangani oleh processor.
Nama-nama Predefined Makro
Standar ANSI C membedakan lima nama-nama makro built-in yang didefinisikan sebelumnya.
Yaitu :
_LINE_
_FILE_
_DATE_
_TIME_
_STDC_
Jika compiler kita non standar, maka sebagian atau seluruhnya akan hilang. Compiler juga menyediakan banyak makro yang didefinisikan sebelumnya untuk kita gunakan.
Makro _DATE_ adalah suatu string dengan bentuk, bulan/hari/tahun yang merupakan tanggal translasi file sumber dalam obyek code.
Waktu transaksi code sumber ke dalam code obyek, terdiri atas string pada _TIME_, bentuk string tersebut adalah hour,minute,second (jam,menit,detik).
Makro _STDC_ berisi konstanta desilmal 1, artinya bahwa implementasi penyesuaian standar. Jika konstanta tersebut selain angka 1, maka implementasinya tentu akan berbeda dari standar.
sumber : mis. dinda, andi publisher, vian dodol's blog
c++, compile, compiler, include, program, petruk, cout, cin, #define, #elif, #else, #endif, #error, #if, #ifdef, #ifndef, #include, #inline, #pragma, #undef
0 komentar:
Posting Komentar