Kamis, 15 September 2016

PENGENALAN JAVA




Pengertian Java
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsysten dan diterbitkan tahun 1995. Java tidak sama dengan Javascript, Javascript adalah bahasa scripting yang digunakan oleh web browser. Java merupakan satu dari beberapa kemajuan terpenting di bidang software komputer dalam 20 tahun terakhir. Sama pentingnya dengan HyperText Markup Language (HTML) yang sangat sukses dalam penerbitan homepage static di World wide Web (WWW). Java meledakkan internet dengan isi yang lebih menarik dan interaktif.
Kelebihan-Kelebihan Java
-Multiplatform
Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform/sistem operasi komputer, sesuai dengan prinsip “tulis sekali, jalankan di mana saja”. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis Java dikerjakan di atas sistem operasi Linux tetapi dapat dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri untuk menginterpretasikan bytecode tersebut.
-Pemrograman Berorientasi Objek
Berorientasi objek (OOP) sehingga memudahkan programmer untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.
Artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Ini sangat memudahkan pemrogram untuk mendesain, membuat dan mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemrograman termudah, bahkan untuk fungsi-fungsi yang advance seperti komunikasi antara komputer sekalipun.
-Perpustakaan Kelas yang Lengkap
Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program-program yang disertakan dalam pemrograman Java) yang sangat memudahkan dalam penggunaan oleh pada pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah keberadaaan komunitas Java yang besar yang terus menerus membuat perpustakaan baru untuk melingkupi seluruh kebutuhan pembangun aplikasi.
-Bergaya C++
Java memiliki sintaks seperti bahasa pemrograman C++ sehingga banyak menarik pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika juga mulai pindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
-Pengumpulan sampah Otomatis
Java memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
Kekurangan Java
– Tulis sekali, jalankan di mana saja –
Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
– Mudah didekompilasi-
Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
– Penggunaan memori yang banyak -Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
Perbandingan Java dengan Bahasa Pemrograman Lain
Java merupakan bahasa pemrograman OOP tidak seperti bahasa-bahasa sebelumnya yang bersifat prosedural. OOP sangat berguna untuk membuat software yang memiliki banyak Objek yang mirip sehingga pemrogram tidak perlu menulis ulang script untuk Objek-Objek tersebut. Pemrogram cukup menentukan nama ’Class’ dan ’Perilaku’nya dengan meng-assign-kan Class tersebut ke suatu Objek maka secara otomatis Objek tersebut akan memiliki perilaku yang ditentukan.
Dilain sisi penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun. Namun karena Java mempunyai memori yang besar sehingga big num problem bias teratasi.
Bahasa pemrograman C menggunakan pointer sehingga programmer bertanggung jawab untuk membebaskan memory sendiri. Hal ini sering menyebabkan kegagalan memory. Sedangkan pada Java hanya terdapat reference (tidak mempunyai pointer) dan penggunaan memory diatasi oleh garbage collector sehingga programmer tidak perlu bersusah payah untuk mengatur memori.
Tahap Kompilasi Java
Tulis / Ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas ‘.java’.
Kompilasi. Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas ‘.class’.
Muat. Pemuat kelas memuat bytecodes ke memori.
Verifikasi. Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
Jalankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin.tidak bisa di pakai‘’
Contoh Kode Program Sederhana Dalam Java
Contoh program Halo dunia yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:
// Outputs “Hello, world!” and then exits
public class HelloWorld {
public static void main(String args[]) {
System.out.println(“Hello, world!”);
}
}
Integrated Development Environment
Banyak pihak telah membuat IDE (Integrated Development Environment – Lingkungan Pengembangan Terintegrasi) untuk Java. Yang populer saat ini (Juli 2006) antara lain:
Dr. Java, program gratis yang dikembangkan oleh Universitas Rice, Amerika Serikat
BlueJ, program gratis yang dikembangkan oleh Universitas Monash, Australia
NetBeans (open source- Common Development and Distribution License (CDDL))
NetBeans disponsori Sun Microsystems, dan versi terkininya memilki Matisse, sebuah GUI Editor yang menurut pendapat umum merupakan yang terbaik.[rujukan?]
Eclipse JDT (open source- Eclipse Public License)
Eclipse dibuat dari kerja sama antara perusahaan-perusahaan anggota ‘Eclipse Foundation’ (beserta individu-individu lain). Banyak nama besar yang ikut dalam ‘Eclipse Foundation’, termasuk IBM, BEA, Intel, Nokia, Borland. Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE lainnya.
IntelliJ IDEA (commercial, free 30-day trial)
Oracle JDeveloper (free)
Xinox JCreator (ada versi berbayar maupun free)
JCreator ditulis dalam C/C++ sehingga lebih cepat (dan menggunakan memori lebih sedikit) dari kebanyakan IDE.
Java bytecode
Java bytecode adalah bentuk petunjuk bahwa mesin virtual Java mengeksekusi. Setiap bytecode opcode adalah satu byte panjang, meskipun beberapa memerlukan parameter, sehingga beberapa multi-byte instruksi. Tidak semua dari 256 kemungkinan opcodes digunakan. 51 dicadangkan untuk penggunaan masa depan. Selain itu, Sun Microsystems , pengembang asli dari platform Java , telah menyisihkan tiga nilai secara permanen diimplementasikan. Sebuah Java programmer tidak perlu menyadari atau memahami bytecode Java sama sekali. Namun, seperti yang disarankan di IBM jurnal developerWorks, “adalah Memahami bytecode dan apa bytecode mungkin dihasilkan oleh compiler Java membantu programmer Java dengan cara yang sama bahwa pengetahuan tentang perakitan membantu C atau C + + programmer. ”
Lihat juga: daftar instruksi bytecode Java
Karena setiap byte memiliki 256 nilai potensial, ada 256 opcodes mungkin. Dari jumlah tersebut, 0x00 melalui 0xca, 0xFE, dan 0xff ditugaskan nilai. 0xca dicadangkan sebagai instruksi breakpoint untuk debugger dan tidak digunakan oleh bahasa. Demikian pula, 0xFE dan 0xff tidak digunakan oleh bahasa, dan dicadangkan untuk penggunaan internal oleh mesin virtual.
Instruksi jatuh ke dalam beberapa kelompok yang luas:
Beban dan toko (misalnya aload_0, istore)
Aritmatika dan logika (misalnya Ladd, fcmpl)
Jenis konversi (misalnya i2b, d2i)
Obyek penciptaan dan manipulasi (baru, putfield)
Operan tumpukan manajemen (swap misalnya, dup2)
Kontrol transfer (misalnya ifeq, goto)
Metode doa dan kembali (misalnya invokespecial, areturn)
Ada juga beberapa instruksi untuk sejumlah tugas yang lebih khusus seperti melemparkan pengecualian, sinkronisasi, dll
Banyak petunjuk prefiks dan / atau akhiran mengacu pada jenis operan mereka beroperasi pada. Ini adalah sebagai berikut:
Awalan / Sufiks Operan Type
i bilangan bulat
l panjang
s pendek
b byte
c karakter
f mengapung
d dua kali lipat
a referensi
Misalnya, “iadd” akan menambahkan dua bilangan bulat, sementara “Dadd” akan menambahkan dua ganda. The “const”, “beban”, dan “toko” instruksi juga dapat mengambil akhiran bentuk “_ n”, dimana n adalah nomor 0-3 untuk “beban” dan “toko”. N maksimum untuk “const” berbeda menurut jenis.
The “const” petunjuk mendorong nilai dari tipe tertentu ke stack. Misalnya “iconst_5” akan mendorong sebuah 5 bilangan bulat, sementara “dconst_1” akan mendorong 1 ganda. Ada juga “aconst_null”, yang mendorong “nol”. N untuk “beban” dan “toko” instruksi menentukan lokasi dalam tabel variabel [ klarifikasi diperlukan ] untuk memuat atau dari toko ke. The “aload_0” instruksi mendorong objek dalam variabel 0 ke stack (ini biasanya “ini” objek). “Istore_1” menyimpan integer di atas tumpukan ke 1 variabel. Untuk variabel dengan jumlah yang lebih akhiran dijatuhkan dan operator harus digunakan.
Para model perhitungan Jawa bytecode adalah bahwa dari bahasa pemrograman berorientasi tumpukan . Sebagai contoh, kode assembly untuk prosesor x86 mungkin terlihat seperti ini:
mov eax, byte [ebp – 4]
mov edx, byte [ebp – 8]
add eax, edx
mov ecx, eax
Kode ini akan menambahkan dua nilai dan memindahkan hasil ke lokasi yang berbeda. Bytecode dibongkar serupa mungkin terlihat seperti ini:
0 iload_1 1 iload_2 2 iadd 3 istore_3
0 iload_1 1 iload_2 2 iadd 3 istore_3
Perhatikan kode Java berikut:
outer:
for (int i = 2; i <1000; i + +) {
for (int j = 2, j <i, j + +) {
if (i% j == 0)
lanjutkan luar;
}
.. Sistem keluar println (i);
}
Sebuah kompiler Java akan menerjemahkan kode Java di atas ke dalam kode byte sebagai berikut, dengan asumsi di atas dimasukkan ke dalam metode:
0: iconst_2 1: istore_1 2: iload_1 3: sipush 1000 6: if_icmpge 44 9: iconst_2 10: istore_2 11: iload_2 12: iload_1 13: if_icmpge 31 16: iload_1 17: iload_2 18: irem 19: ifne 25 22: goto 38 25: iinc 2, 1 28: goto 11 31: getstatic #84; //Field java/lang/System.out:Ljava/io/PrintStream; 34: iload_1 35: invokevirtual #85; //Method java/io/PrintStream.println:(I)V 38: iinc 1, 1 41: goto 2 44: return
0: iconst_2 1: istore_1 2: iload_1 3: sipush 1000 6: if_icmpge 44 9: iconst_2 10: istore_2 11: iload_2 12: iload_1 13: if_icmpge 31 16: iload_1 17: iload_2 18: irem 19: ifne 25 22: goto 38 25: iinc 2, 1 28: goto 11 31: getstatic #84; //Field java/lang/System.out:Ljava/io/PrintStream; 34: iload_1 35: invokevirtual #85; //Method java/io/PrintStream.println:(I)V 38: iinc 1, 1 41: goto 2 44: return
Java bytecode dirancang untuk dijalankan dalam mesin virtual Java . Ada beberapa mesin virtual yang tersedia saat ini, baik produk gratis dan komersial.
Informasi lebih lanjut: mesin virtual Java
Jika mengeksekusi bytecode Java dalam mesin virtual Java tidak diinginkan, pengembang juga dapat mengkompilasi kode Java sumber atau bytecode Java langsung ke kode mesin asli dengan alat seperti GNU Compiler Java . Beberapa prosesor dapat mengeksekusi bytecode Java native. Prosesor tersebut dikenal sebagai prosesor Java .
Java Development Kit (JDK)
Java Development Kit (JDK) merupakan implementasi dari salah satu dari Java SE , Java EE atau Java ME platform dirilis oleh Oracle Corporation dalam bentuk produk biner ditujukan Jawa pengembang pada Solaris , Linux , Mac OS X atau Windows . Sejak diperkenalkannya Java platform, telah jauh Software Development Kit yang paling banyak digunakan ( SDK ). Pada tanggal 17 November 2006, Sun mengumumkan bahwa mereka akan dirilis di bawah GNU General Public Lisensi (GPL), sehingga membuatnya perangkat lunak bebas . Hal ini terjadi sebagian besar pada 8 Mei 2007, ketika Matahari menyumbang kode sumber ke OpenJDK .
JDK memiliki sebagai komponen utamanya kumpulan alat pemrograman, termasuk:
appletviewer – alat ini dapat digunakan untuk menjalankan dan debug applet Java tanpa web browser
apt – dengan alat penjelasan-processing
extcheck – sebuah utilitas yang dapat mendeteksi JAR-file konflik
idlj – compiler IDL-to-Jawa. Utilitas ini menghasilkan Java bindings dari diberikan IDL Java file.
java – yang loader untuk aplikasi Java. Alat ini penerjemah dan dapat menginterpretasikan file kelas yang dihasilkan oleh javac compiler. Sekarang sebuah peluncur tunggal digunakan untuk kedua pengembangan dan penyebaran. Peluncur penyebaran tua, jre, tidak lagi datang dengan Sun JDK, dan sebagai gantinya telah digantikan oleh loader java baru.
javac – yang compiler Java , yang mengubah kode sumber menjadi Java bytecode
javadoc – generator dokumentasi, yang secara otomatis menghasilkan dokumentasi dari source code komentar
jar – pengarsip, yang paket kelas terkait perpustakaan menjadi satu file JAR . Alat ini juga membantu mengelola file JAR.
javah – header C dan generator rintisan, digunakan untuk menulis metode asli
javap – file kelas disassembler
javaws – yang Web Java Mulai peluncur untuk aplikasi JNLP
JConsole – Java Monitoring dan Management Console
jdb – yang debugger
jhat – Java Heap Alat Analisis (percobaan)
Jinfo – Utilitas ini mendapat informasi konfigurasi dari proses Java berjalan atau crash dump. (Percobaan)
jmap – Utilitas ini output peta memori untuk Java dan dapat mencetak peta memori obyek bersama atau rincian tumpukan memori dari suatu proses atau core dump. (Percobaan)
jps – Java Machine Proses Alat Status Virtual daftar diinstrumentasi HotSpot Java Virtual Machines (JVMs) pada sistem target. (Percobaan)
jrunscript – Java baris perintah skrip shell .
jstack – utilitas yang mencetak Jawa jejak stack benang Java (percobaan)
jstat – Java Virtual Machine statistik alat pemantau (percobaan)
jstatd – jstat daemon (percobaan)
keytool – alat untuk memanipulasi keystore
pack200 – JAR alat kompresi
policytool – penciptaan kebijakan dan alat manajemen, yang dapat menentukan kebijakan untuk runtime Java, yang menetapkan hak akses yang tersedia untuk kode dari berbagai sumber
VisualVM – alat visual mengintegrasikan beberapa baris perintah alat JDK dan ringan kinerja dan memori profiling kemampuan
wsimport – menghasilkan portabel JAX-WS artefak untuk memanggil layanan web.
xjc – Bagian dari API Java untuk XML Binding (JAXB) API. Ia menerima skema XML dan menghasilkan kelas Java.
Alat percobaan mungkin tidak tersedia dalam versi masa depan dari JDK.
JDK juga dilengkapi dengan lengkap Java Runtime Environment , biasanya disebut runtime pribadi, karena fakta bahwa itu dipisahkan dari JRE “biasa” dan memiliki isi tambahan. Ini terdiri dari Java Virtual Machine dan semua perpustakaan kelas hadir dalam lingkungan produksi, serta library tambahan hanya berguna untuk pengembang, seperti internasionalisasi perpustakaan dan IDL perpustakaan.
Salinan dari JDK juga termasuk berbagai pilihan program contoh menunjukkan penggunaan hampir semua bagian dari Java API .
JDK membentuk bagian diperpanjang dari software development kit (SDK). Dalam deskripsi yang menyertai rilis terbaru, yang menerapkan Java SE , EE dan ME , Sun mengakui bahwa di bawah terminologi, JDK membentuk subset dari SDK yang memiliki tanggung jawab untuk menulis dan menjalankan program Java. Sisa SDK terdiri dari perangkat lunak tambahan, seperti server aplikasi, debugger, dan dokumentasi.
Selain JDK yang paling banyak digunakan dibahas dalam artikel ini, ada beberapa JDK lain yang umum tersedia untuk berbagai platform, beberapa di antaranya dimulai dari sumber Sun JDK dan beberapa yang tidak. Semua dari mereka mematuhi spesifikasi Java dasar, tetapi mereka sering berbeda dalam wilayah eksplisit ditentukan, seperti pengumpulan sampah, strategi kompilasi, dan teknik optimasi. Mereka meliputi:
Dalam perkembangan atau dalam modus pemeliharaan:
OpenJDK ;
Aicas JamaicaVM ;
GNU ‘s GCJ (The GNU Compiler Java );
IBM J9 JDK, untuk AIX, Linux, Windows, MVS,, OS/400 Pocket PC, z / OS,
Oracle Corporation ‘s JRockit JDK, untuk Windows, Linux, dan Solaris,
Red Hat ‘s IcedTea , menggantikan proprietary classpath di OpenJDK .
Tidak dipertahankan atau dihentikan:
Apache Harmony
Apple ‘s Mac OS Runtime Java JVM / JDK untuk Classic Mac OS
Blackdown Java – Pelabuhan Sun JDK untuk Linux


Sumber : https://rumahradhen.wordpress.com/materi-kuliahku/semester-ii/algoritma-dan-pemograman/pengenalan-java/

Pengenalan Bahasa Pemograman C++

PENGENALAN C++


SEJARAH C++ 

Bahasa C++ diciptakan oleh Bjarne Stroustrup di AT&T Bell 
Laboratories awal tahun 1980-an berdasarkan C ANSI (American National 
Standard Institute). Pertama kali, prototype C++ muncul sebagai C yang 
dipercanggih dengan fasilitas kelas. Bahasa tersebut disebut C dengan kelas 
( C wih 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 menunjukkan 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++. 
Contoh Program C : 
# include 
Main ( ) 

Char pesan [ ] = “Hai, C programmers !” ; 
Printf (pesan) ; 
Return 0 ; 

Contoh Program C++ : 
# include 
Main ( ) 

Char pesan [ ] = “Hai, C programmers !” ; 
Cout << pesan ; 
Return 0 ; 


TENTANG C++ 

C++ diciptakan untuk mendukung pemrograman berorientasi pada 
objek (Object Oriented Pragramming/OOP) yang tidak dimiliki C. sementara C 
merupakan bahasa pemrograman terbaik dilingkungannya, bahasa ini tidak memiliki kemampuan OOP. 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 

BAGIAN 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: 
/* FIRST.CPP */ 
/* Program C++ pertamaku */ 
// Praproses 
# include 
Void main ( ) 

Char pesan [ ] = “Hello, C++ programmers!” ; 
Cout << pesan ; 
Return 0 ; 

Pada Borland C++ dapat menggunakan komentar bersarang asalkan opsi cek 
Nested comments pada menu Options/Compiler/Source dipilih. 

BAGIAN PENGARAH KOMPILER 

Contoh program C++ : 
# include 
Void main ( ) 

Char pesan [ ] = “Hello, C++ programmers!” ; 
Cout << pesan ; 
Return 0 ; 

Merupakan statement praprosesor, disebut juga pengarah compiler karena 
berfungsi mengatur proses kompilasi. 
IOSTREAM.H merupakan file program yang mengandung deklarasi kelaskelas 
yang diperlukan oleh objek cout. File-file dengan ekstensi .H yang berisi 
deklarasi fungsi-fungsi standar C ini, disebut secara umum sebagai file 
header. 
Beberapa pengarah compiler adalah : 
1. # define 
2. # include 
3. # if, # else, # elif, # endif 
4. # ifdef, # ifndef 

PENGARAH KOMPILER # DEFINE 
Untuk mendefinisikan suatu pengenal / konstanta yang nantinya akan 
digantikan oleh praprosesor saat program dikompilasi. 
Contoh Program : 
# define SIZE 30 
Int array [SIZE] ; 
For (register int i = 0 ; i < SIZE ; i++) 

Cout << array [ i ] ; 

PENGARAH KOMPILER # 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 KOMPILER # 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 KOMPILER # 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++: 
# include 
Void main ( ) 

Char pesan [ ] = “Hello, C++ programmers!” ; 
Cout << pesan ; 
Return 0 ; 

Dalam contoh program C++ diatas, Return merupakan contoh 
statement executable yang menginstruksikan agar suatu fungsi 
mengembalikan nilai balik tertentu. Contoh statement non executable adalah : 
If, else, dan while. 
Main ( ) merupakan contoh fungsi, sedangkan pesan adalah contoh 
data. Baik data maupun fungsi harus dideklarasikan. Data perlu 
dideklarasikan agar compiler tahu berapa byte memori yang harus disediakan 
untuk data yang bersangkutan, sedangkan fungsi perlu dideklarasikan agar 
compiler dapat memeriksa ketepatan pemanggilan fungsi yang bersangkutan. 
Deklarasi fungsi sering disebut pula prototype fungsi. 

INPUT DAN 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. 
Bentuk Umum Output operator : 
Cout << ekspresi ; 
Bentuk umum Input operator : 
Cin >> variable ; 
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 : 
# include 
Void main ( ) 

Int x ; 
Printf ( “Masukkan sebuah bilangan : \n” ) ; 
Scanf ( “ %d ”, &x ) ; 
Printf ( “Bilangan yang dimasukkan adalah %d\n “, x ) ; 

Contoh program versi C++ : 
# include 
Void main ( ) 

Int x ; 
Cout << “Masukkan sebuah bilangan : ” << endl ; 
Cin >> x ; 
cout << “Bilangan yang dimasukkan adalah “ << x << endl ; 

Contoh Program untuk input dan output : 
# include 
Main ( ) 

Int a ; 
Cout << “masukkan suatu bilangan :” ; 
Cin >> a ; 
Cout << “nilai tersebut ditambah 1 = ‘ << a+1 ; 
Return 0 ; 


//contoh fungsi tanpa nilai balik 
#include 
#include 
void tampil() 

for (int i=1;i<=10;i++) 

cout<<"contoh fungsi tanpa nilai balik\n"; 


void main() 

tampil(); 
getch(); 
}//fungsi tanpa nilai balik adalah fungsi tidak mengembalikan 
//nilai ke fungsi utama 



//contoh funsi mengembalikan nilai string 
#include 
#include 
char* cobakarakter() 

return"karakter yang akan kembali ke fungsi utama\n"; 

void main() 

cout<getch(); 
}//fungsi dengan nilai balik adalah fongsi untuk melakukan 
//suatu proses yang mengembalikan nilai ke fungsi utama 



//contoh fungsi mengembalikan nilai bilangan 
#include 
#include 
float kali() 

return (3.14*2); 

void main() 

cout<<"hasil : "<getch(); 



//contoh fungsi dengan parameter masukkan 
#include 
#include 
int tambah(int x){ 
int hasil; 
hasil=x+1; 
return hasil;} 
void main(){ 
int nilai,hasilku; 
cout<<"masukkan nilai : ";cin>>nilai; 
hasilku=tambah(nilai); 
cout<<"hasil penjumlahan : "<getch();} 



contoh input data dalam variabel array 

#include 
#include 
void main() 

int data[5],a; 
for (a=1;a<=5;a++) 

cout<<"input data ke"<>data[a]; 

clrscr(); 
for (a=1;a<=5;a++) 

cout<<"output data ke"<} 
getch(); 



contoh pencarian data 

#include 
#include 
void main() 

int data[5]; 
int ketemu,cari,i,j; 
for (i=0;i<5;i++) 

cout<<"input data ke"<>data[i]; 

cout<cout<<"masukan nilai yang mau di cari : ";cin>>cari; 
for(j=0;j<5;j++) 

if (data[j]==cari) 

ketemu=!ketemu; 
break; 


if (ketemu==1) 

cout<<"data di temukan berada di indeks ke :"<
else 
cout<<"data tidak di temukan"; 
getch(); 


//contoh fungsi dengan parameter masukkan 
#include 
#include 
int tambah(int x,int y) 

int hasil; 
hasil=x+y; 
return hasil;} 
int kurang(int x,int y) 

int hasil; 
hasil=x-y; 
return hasil; 

void main(){ 
int nilai,nilai1,hasilku; 
cout<<"masukkan nilai 1 : ";cin>>nilai; 
cout<<"maasukkan nilai 2 : ";cin>>nilai; 
hasilku=tambah(nilai,nilai1); 
cout<<"hasil penjumlahan : "<hasilku=kurang(nilai,nilai1); 
cout<<"hasil pengurangan : "<getch(); 



/*contoh fungsi untuk melewatkan parameter pass by value*/ 
#include 
#include 
void tukar(int x,int y) 

int z=x; 
x=y; 
y=z; 
cout<<"nilai yang berada dalam fungsi\n"; 
cout<<"nilai 1 : "<cout<<"nilai 2 : "<
void main() 

int bil1,bil2; 
cout<<"masukan nilai 1 : ";cin>>bil1; 
cout<<"masukan nilai 2 : ";cin>>bil2; 
cout<tukar(bil1,bil2); 
cout<<"hasil sesudah di tukar\n"; 
cout<<"hasil 1 : "<cout<<"hasil 2 : "<getch(); 

di relasikan 

/*contoh fungsi untuk melewatkan parameter pass by value*/ 
#include 
#include 
void tukar(int& x,int& y) 

int z=x; 
x=y; 
y=z; 
cout<<"nilai yang berada dalam fungsi\n"; 
cout<<"nilai 1 : "<cout<<"nilai 2 : "<
void main() 

int bil1,bil2; 
cout<<"masukan nilai 1 : ";cin>>bil1; 
cout<<"masukan nilai 2 : ";cin>>bil2; 
cout<tukar(bil1,bil2); 
cout<<"hasil sesudah di tukar\n"; 
cout<<"hasil 1 : "<cout<<"hasil 2 : "<getch(); 



STATEMENT WHILE 

#include 
#include 
void main() 

int a; 
a=1; 
while (a<=5) 

cout<<"belajar statement while\n"; 
a++; 

getch(); 




STATEMENT DO-WHILE 

(tetap mencari data meskipun statement'y tdk terpenuhi, 
akan tetap keluar hasil'y yaitu 1 statement) 

#include 
#include 
void main() 

int a; 
a=1; 
do 
while (a<=5) 

cout<<"belajar statement while\n"; 
a++; 

while (a<=5); 
getch(); 



STATEMENT FOR 

for (variabel=nilai awal;kondisi;variabel++) 

statement yang di ulang 



#include 
#include 
void main() 

int a; 
for (a=1;a<=10;a++) 

cout<<"belajar perulangan for\n"; 

getch(); 



STATEMENT FOR(PERULANGAN NAIK & TURUN) 

#include 
#include 
void main() 

int a,b; 
cout<<"perulangan menaik\n"; 
for (a=1;a<=10;a++) 

cout<

cout<<"perulangan mennurun\n"; 
for (b=10;b>=1;b--) 

cout<
getch(); 




BINTANG2 

#include 
#include 
void main() 

int a,b,bintang; 
cout<<"masukkan banyak bintang : ";cin>>bintang; 
for(a=1;a<=bintang;a++) 

for(b=1;b<=a;b++) 

cout<<" * "; 

cout<
getch(); 



#include 
#include 
void main() 

int a,b,bintang; 
cout<<"masukkan banyak bintang : ";cin>>bintang; 
for(a=1;a<=bintang;a++) 

for(b=1;b<=a;b++) 

cout<<"*"; 

cout<
for (a=bintang;a>=1;a--) 

for (b=1;b<=a;b++) 

cout<<"*" ; 

cout<
getch() 




PEMBELIAN 

#include 
#include 
void main() 

char nama[50][20]; 
int permen,bayar,pembeli,a; 
float total,kembali; 
cout<<"masukkan banyak pembeli permen : ";cin>>pembeli; 
for(a=1;a<=pembeli;a++) 

cout<<"------------------------------------------------------\n"; 
cout<<"masukkan nama pembeli : ";cin>>nama[a]; 
cout<<"masukkan banyak permen : ";cin>>permen; 
cout<<"masukkan uang bayar : ";cin>>bayar; 
total=permen*100; 
kembali=bayar-total; 
cout<<"total bayar : ";cout<cout<<"uang kembali : ";cout<cout<<"------------------------------------------------------\n"; 
cout<
getch(); 



//strcpy(untuk mengcopy kata) 
#include 
#include 
void main() 

char kata1[50],kata2[50]; 
cout<<"masukkan kata : ";cin.getline(kata1,sizeof(kata1)); 
strcpy(kata2,kata1); 
cout<<"kata 1 : "<cout<<"kata 2 : "<getch(); 



//strcat(untuk menggabungkan kata) 
#include 
#include 
void main() 

char kata1[50],kata2[50]; 
cout<<"masukkan kata 1: ";cin.getline(kata1,sizeof(kata1)); 
cout<<"masukkan kata 2: ";cin.getline(kata2,sizeof(kata2)); 
strcat(kata1,kata2); 
cout<<"kata 1 : "<cout<<"kata 2 : "<getch(); 




//strupr(merubah huruf kecil ke besar) 
#include 
#include 
void main() 

char kata1[50]; 
cout<<"masukkan kata 1 : ";cin.getline(kata1,sizeof(kata1)); 
strupr(kata1); 
cout<<"kata 1 : "<getch(); 



//strlwr(merubah huruf besar ke kecil) 
#include 
#include 
void main() 

char kata1[50]; 
cout<<"masukkan kata 1 : ";cin.getline(kata1,sizeof(kata1)); 
strlwr(kata1); 
cout<<"kata 1 : "<getch(); 



//contoh operasi file 
#include 
#include 
#include 
void main() 

ofstream cobaah; 
cobaah.open("D:/namafile.txt"); 
cobaah<<"belajar operasi file"; 
cobaah<cobaah<<"cari di drive anda"; 
cobaah.close(); 



(D-->letak file disimpan,lalu di run,hasil run tdk muncul.kmd buka folder 
D cari notepad dg nama"namafile.txt" lalu buka.hasil ada pd notepad sesuai 
yg qt tulis pd program(pd program tsb:"belajar operasi file,cari di drive anda") 


//contoh menambahkalimat di file.txt 

#include 
#include 
#include 
void main() 

ofstream cobaah; 
cobaah.open("D:/namafile.txt",ios::app); 
cobaah<cobaah<<"nama kamu siapa ???"; 
cobaah.close(); 



//contoh fungsi tanpa nilai balik 
#include 
#include 
void tampil() 

for (int i=1;i<=10;i++) 

cout<<"contoh fungsi tanpa nilai balik\n"; 


void main() 

tampil(); 
getch(); 
}//fungsi tanpa nilai balik adalah fungsi tidak mengembalikan 
//nilai ke fungsi utama 


//contoh funsi mengembalikan nilai string 
#include 
#include 
char* cobakarakter() 

return"karakter yang akan kembali ke fungsi utama\n"; 

void main() 

cout<getch(); 
}//fungsi dengan nilai balik adalah fongsi untuk melakukan 
//suatu proses yang mengembalikan nilai ke fungsi utama 


//contoh fungsi mengembalikan nilai bilangan 
#include 
#include 
float kali() 

return (3.14*2); 

void main() 

cout<<"hasil : "<getch(); 



//contoh fungsi dengan parameter masukkan 
#include 
#include 
int tambah(int x){ 
int hasil; 
hasil=x+1; 
return hasil;} 
void main(){ 
int nilai,hasilku; 
cout<<"masukkan nilai : ";cin>>nilai; 
hasilku=tambah(nilai); 
cout<<"hasil penjumlahan : "<getch();} 



contoh pencarian data tertinggi dan terendah 

#include 
#include 
void main() 

int data[5]; 
int tertinggi,terendah,i,j; 
for (i=0;i<5;i++) 

cout<<"input data ke"<>data[i]; 

cout<tertinggi=data[0]; 
terendah=data[0]; 
for(j=0;j<5;j++) 

if (data[j]>tertinggi) 

tertinggi=data[j]; 

if (data[j]
terendah=data[j]; 


cout<<"data tertinggi adalah :"<cout<<"data terendah adalah :"<getch(); 



contoh penjumlahan matriks 

#include 
#include 
void main() 

typedef int matriks[2] [2]; 
matriks a,b,c; 
int i,j; 
cout <<"input matriks A :\n"; 
for (i=0;i<2;i++) 

for (j=0;j<2;j++) 

cout<<"A["<>a[i][j]; 


cout<cout <<"input matriks B :\n"; 
for (i=0;i<2;i++) 

for (j=0;j<2;j++) 

cout<<"B["<>b[i][j]; 


//funsi penjumlahan matriks a + matriks b 
for (i=0;i<2;i++) 

for (j=0;j<2;j++) 

c[i][j]=a[i][j]+b[i][j]; 


cout<cout<<"hasil penjumlahan matriks\n"; 
for (i=0;i<2;i++) 

for (j=0;j<2;j++) 

cout<
cout<
getch(); 



PERULANGAN FOR 

0 1 
1 2 
2 4 
3 8 
4 16 

#include 
#include 
void main() 

int x; 
int y=1; 
for (x=0;x<5;x++) 

cout<y=y*2; 

getch(); 




//contoh membuat file header sendiri 
#define mulai() main() 
#define buka{ 
#define tutup} 
#define tampil cprintf 
#define tampilkan cout 
#define input cin 
#define warna textcolor 
#define tahan getch() 

ket:file di simpan dg file name "coba.h" 
jk di run tdk muncul hasil krn hasil akan muncul pd 
running program ke-2 di bawah ini. 


//contoh program menggunakan file header diatas 
#include 
#include 
#include "coba.h" 
mulai() 
buka 
int a,b,c; 
warna(10); 
tampil("ini adalah program menggunakan file header sendiri"); 
tampilkan<tampilkan<<'input nilai 1: ";input>>a; 
tampilkan<<"input nilai 1: ";input>>b; 
c=a+b; 
tampilkan<<"hasil : "<tahan; 
tutup 



Sumber : http://tantysweety.blogspot.co.id/2010/05/pengenalan-c.html