Top Banner
Module 1 Dasar-Dasar C++ Table of Contents CRITICAL SKILL 1.1: A Brief History of C++.............................................................................................................. 2 CRITICAL SKILL 1.2: How C++ Relates to Java and C# ........................................................................................... 5 CRITICAL SKILL 1.3: Object-Oriented Programming ............................................................................................. 7 CRITICAL SKILL 1.4: A First Simple Program ........................................................................................................... 10 CRITICAL SKILL 1.5: A Second Simple Program..................................................................................................... 15 CRITICAL SKILL 1.6: Using an Operator ................................................................................................................. 17 CRITICAL SKILL 1.7: Reading Input from the Keyboard ...................................................................................... 19 Project 1-1 Converting Feet to Meters ................................................................................................................. 24 CRITICAL SKILL 1.8: Two Control Statements ...................................................................................................... 26 CRITICAL SKILL 1.9: Using Blocks of Code............................................................................................................... 30 Project 1-2 Generating a Table of Feet to Meter Conversions.......................................................................... 33 CRITICAL SKILL 1.10: Introducing Functions ........................................................................................................ 35 CRITICAL SKILL 1.11: The C++ Keywords ............................................................................................................... 38 CRITICAL SKILL 1.12: Identifiers.............................................................................................................................. 39 Jika ada satu bahasa pemrograman yang istimewa saat ini, adalah bahasa pemrograman C++. Bahasa C++ adalah bahasa pemrograman yang unggul untuk pengembangan software yang baik. Sintak-santak dalam bahasa C++ menjadi standard untuk pemrograman profesional. C++ berasal dari bahasa Java dan C#. Bahasa C++ menjadi pintu gerbang di dalam pemrogramman modern. Modul ini akan memperkanalkan bahasa C++, sejarahnya, design dan beberapa keistimewaan- keistimewaan yang penting. Sejauh ini, berpikir keras untuk mempelajari pemrograman bahasa C++ bukan merupakan bagian yang terpisah. Di tambah bahwa komponen-komponennya bekerja secara terintegrasi. Menghubungkan satu dengan yang lainnya sanggatlah sulit untuk membahas satu
28
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: C++ Untuk Pemula

Module 1

Dasar-Dasar C++

Table of ContentsCRITICAL SKILL 1.1: A Brief History of C++..............................................................................................................2

CRITICAL SKILL 1.2: How C++ Relates to Java and C# ...........................................................................................5

CRITICAL SKILL 1.3: Object-Oriented Programming .............................................................................................7

CRITICAL SKILL 1.4: A First Simple Program...........................................................................................................10

CRITICAL SKILL 1.5: A Second Simple Program.....................................................................................................15

CRITICAL SKILL 1.6: Using an Operator .................................................................................................................17

CRITICAL SKILL 1.7: Reading Input from the Keyboard ......................................................................................19

Project 1-1 Converting Feet to Meters .................................................................................................................24

CRITICAL SKILL 1.8: Two Control Statements ......................................................................................................26

CRITICAL SKILL 1.9: Using Blocks of Code...............................................................................................................30

Project 1-2 Generating a Table of Feet to Meter Conversions..........................................................................33

CRITICAL SKILL 1.10: Introducing Functions ........................................................................................................35

CRITICAL SKILL 1.11: The C++ Keywords...............................................................................................................38

CRITICAL SKILL 1.12: Identifiers..............................................................................................................................39

Jika ada satu bahasa pemrograman yang istimewa saat ini, adalah bahasa pemrograman C++.Bahasa C++ adalah bahasa pemrograman yang unggul untuk pengembangan software yang baik.Sintak-santak dalam bahasa C++ menjadi standard untuk pemrograman profesional. C++ berasaldari bahasa Java dan C#. Bahasa C++ menjadi pintu gerbang di dalam pemrogramman modern.

Modul ini akan memperkanalkan bahasa C++, sejarahnya, design dan beberapa keistimewaan-keistimewaan yang penting. Sejauh ini, berpikir keras untuk mempelajari pemrograman bahasa C++bukan merupakan bagian yang terpisah. Di tambah bahwa komponen-komponennya bekerja secaraterintegrasi. Menghubungkan satu dengan yang lainnya sanggatlah sulit untuk membahas satu

Page 2: C++ Untuk Pemula

aspek dari bahasa C++ tanpa menyertakan yang lainnya. Untuk membantu masalah ini, modul inimemberikan gambaran singkat dari beberapa keistimewaan-keistimewaan bahasa C++, termasukform-form umumnya, statement-statement control dasar dan operator-operator. Pembahasanyatidak terlalu rinci, tapi lebih pada intisari konsep-konsep umum dari program bahasa C++.

Sejarah Singkat C++Sejarah bahasa C++ di mulai dari bahasa C. Alasannya adalah lebih mudah di pahami: Bahasa C++dibangun berdasarkan Bahasa C. Jadi, Bahasa C++ adalah bagian dari Bahasa C. Bahasa C++merupakan perluasan dan pengembangan dari Bahasa C yang mendukung layanan OOP (Objectoriented Proggramming) yang akan dijabarkan nanti dalam modul ini. Bahasa C++ juga penambahandari beberapa perbaikan dari Bahasa C, termasuk perluasan dari pengaturan routines library.Bagaimanapun, Bahasa C++ merupakan warisan dari Bahasa C secara langsung, sehingga untukmemahamai secara menyeluruh anda perlu memahami bahasa C.

C: Mengawali Pemrogramman Modern.

Penemuan bahasa C awal dimulainya pemrogramman modern. Itu berpengaruh yang seharusnyatidak diremehkan karena secara dasarnya berubah cara pemrogramman. Perancanganphilosophynya dan sintak telah mempengaruhi setiap bahasa pemrograman utama. Bahasapemrograman C adalah bahasa pemrograman yang utama, yang revolusioner di dalam duniakomuter.

Bahasa C pertama kali ditemukan dan di implementasikan oleh Dennis Ritchie dengan menggunakanoperating system UNIX. Bahasa C adalah hasil dari proses pengembangan yang dimulai dari bahasayang BCPL. BC PL yang dikembangkan oleh Martin Richards. BPCL mempengaruhi sebuah bahasapemrogramman yang disebut B yang ditemukan oleh Ken Thompson dan yang memimpinpengembangan bahasa C pada tahun 1970 an.

Penemuan sebelumnya dari bahasa C, bahasa-bahasa komputer umumnya dirancang sebagailatihan akademik atau komite-komite birokrasi. Bahasa C berbeda, yang dirancang,diimplementasikan dan dikembangkan dengan nyata, oleh programmer-programmer, yangmerefleksikan cara kerja pemrogramman. Itulah keistimewaannya yang diasah, diuji, pemikirantentang dan dikaji ulang oleh pengguna bahasa yang sesungguhnya. Sebagai hasilnya, Bahasa Csangat menarik banyak pendukung dan secara cepat menjadi bahasa yang dipilih para programmerdi dunia.

Bahasa C berkembang sebagai bahasa pemrogramman terstruktur pada tahun 1960 an. Sebelumpemrogramman terstruktur, banyak program-program sangat sulit. Bahasa pemrogrammanterstruktur menujukan masalah ini dengan menambahkan pendefenisian yang sangat baikpernyataan-pernyataan control (control statement), subroutines dengan variabel-variabel local dankemajuan-kemajuan lainnya. Dengan menggunakan bahasa pemrograman terstruktur, itu menjadimungkin untuk ditulis menjadi program yang lebih besar.

Walaupun ada bahasa-bahasa pemrograman lainnya pada saat ini seperti Pascal, bahasa C yangpertama berhasil mengkombinasikan kekuatan, ke-elegant-an, dan secara ekspressive. Secaratepatnya, sintaknya mudah untuk digunakan, merupakan philosophynya bahwa programmer-programmer dapat dengan cepat mempelajarinya. Mempelajarinya tidak menjadi sulit untukdimengerti, tapi bahasa C merupakan udara segar bagi programmer-programmer. Sebagai hasilnya,bahasa C menjadi bahasa yang paling banyak digunakan diseluruh dunia pada tahun 1980 an.

Page 3: C++ Untuk Pemula

Kebutuhan C++

Dari bahasan sebelumnya, anda mungkin terkejut mengapa bahasa C++ ditemukan. Sejak bahasa Csukses menjadi bahasa pemrogramman, mengapa harus membutuhkan yang lainnya. Jawabannyasangat komplek. Sepanjang sejarah pemrogramman, bertambahnya kerumitan dari suatu programmenyebabkan kebutuhan cara yang lebih baik untuk mengelola ke rumitan tersebut. Bahasa C++merespon apa yang dibutuhkan. Dengan pemahaman yang lebih baik hubungan antarapenambahan kerumitan program maka pembangunan bahasa pemrogramman mengikutinya.

Mengikuti pemrogramman yang berubah secara dramatis sejak ditemukannya komputer. Sebagaicontoh, ketika komputer-komputer ditemukan pertama kali, pemrogramman telah dilakukandengan menggunakan komputer-komputer dengan instruksi binary. Program-program dikerjakandengan ratusan instruksi. Pemrogramanpun berkembang, bahasa assembly ditemukan sehinggaprogrammer-programmer dapat melakukannya dengan mudah, bertambahnya kerumitan program-progra dengan menggunakan simbol-simbol yang mewakili instruksi-instruksi bahasa mesin.Program terus berkembang, high level language telah dikembangkan untuk memberikanprogrammer-programmer berbagai tool-tool untuk menangani kerumitan tersebut.

Pertama kali bahasa komputer yang digunakan secara luas adalah FORTAN. FORTRAN sangatmengesankan pada langkah awalnya, program-program yang mudah untuk dimengerti. Pada tahun1960 an lahir bahasa pemrogramman terstruktur yang metode pemrogramman di dukung olehBahasa C. Dengan pemrogram terstruktur , untuk pertama kali, memungkinkan membuat program-progrm yang komplek menjadi lebih mudah. Namun bagaimanapun bahkan dengan metodepemrogram terstruktur sebuah project dapat dicapai dengan ukuran tertentu, ketika kerumitanbertambah apa yang dapat dikelola oleh programmer. Baru pada tahun 1970 banyak project dapatdilakukan.

Untuk merespon masalah ini, banyak cara baru untuk membuat program muncul: Object-OrientedProgramming (OOP). Dengan mengunakan OOP, seorang programmer dapat menangani programyang lebih besar dan lebih komplek. Masalahnya bahasa C tidak mendukung OOP. Keinginan untukmendukung layanan OOP untuk Bahasa C maka dibuat bahasa C++

Hasil akhir analisa, walaupun bahasa C merupakan salah satu bahasa yang paling banyak digunakanoleh programer-programer profesional di dunia ini, pada saatnya muncul suatu bahasa yang dapatmenangani kekomplekan yang lebih luas. Sekali sebuah program mencapai ukuran tertentu,program tersebut menjadi lebih komplek sehingga menjadi sulit untuk mengelolanya. Tujuan daribahasa pemrogramman C++ adalah untuk menangani kendala ini dan membantu programmer-programer memahami dan mengelola program-program yang lebih besar dan lebih komplek.

Kelahiran C++

Bahasa C++ ditemukan oleh Bjarne Stroustrup pada tahun 1979, pada Laboraturim Bell di MurrayHill, New Jersey. Pada awalnya dia memanggail bahasa C++ ini dengan “C with Classes”. Namunpada tahun 1983 berubah menjadi C++

Stroustrup membangun bahasa C++ berdasarkan bahasa C, termasuk semua keistimewaan-keistimewanya, attribute-attributenya dan manfaat-manfaatnya. Dia juga mengikuti philosophibahasa C. Pada masalah ini, yang terpenting untuk dipahami bahwa Stroustrup tidak membuatkeseluruhan bahasa pemrograman. Dia hanya menambahkan bahasa pemrograman yang memangsudah sukses.

Page 4: C++ Untuk Pemula

Kelebihan-kelebihan dari keistimewaan yang Stroustrup tambahkan ke bahasa C telah dirancanguntuk support dengan OOP. Pada intinya, C++ adalah versi OOP dari Bahasa C. Denganmembangun berdasarkan bahasa C, Stroustrup memberikan perpindahan yang mulus ke dalamOOP. Ditambah pernah mempelajari semua yang ada dalam Bahasa C, seorang programmer hanyaperlu mempelajari bebarapa keistimewaan-keistimewaan baru sebelum mendapatkan manfaat darimetodelogi OOP.

Ketika membuat C++, Stroustrup mengetahui bahwa penting untuk merawat keaslian semangat daribahasa C, termasuk efisiensi, fleksibelitas, dan philosophy, sementara itu pada saat yang samamenambahkan support terhadap OOP. Menggembirakan, tujuannya tercapai. C++ masihmemberikan programmer-programmer kebebasan dan control dari bahasa C, dan dapatmenggabungkan dengan kekuatan objeck-objek.

Walaupun C++ pada awalnya dirancang untuk membantu di dalam mengelola program yang sangatbesar, ini tidak dibatasi di dalam penggunaannya. Faktanya, atribut dari object-oriented dari C++dapat secara efektif digunakan kedalam task-task programming. Bukan saja luar biasa untukmengetahui C++ digunakan untuk sebuah editor project, database, system file personal, utilitynetworking dan program-program komunikasi. Karena C++ dapat dishare secara efisien, denganperform yanglebih tinggi dari sistem software yang dibangun dengan menggunakan C++. BahasaC++ juga dapat digunakan oleh programming windows.

Evolusi C++

Sejak C++ pertama kali dikembangkan, telah mengalami 3 kali revisi besar, setiap revisimenambahkan dan mengubahnya. Revisi pertama pada tahun 1985 dan kedua pada tahun 1990.Revisi ke tiga dilakukan pada waktu proses standarisasi C++. Beberapa waktu tahun yang lalu,pekerjaan standarisasi bahasa C++ dimulai. Pada akhirnya, bergabung dengan ANSI (AmericanNational Standard Institute) dan ISO (International Standards Organization) persetujuan-persetujuan standarisasai telah dilakukan. Draf pertama dari pengajuan standard dibuat pada 25Januari 1994. Di dalam draft tersebut ANSI/ISO dan C++ setuju mempetahankan keistimewaan-keistimewaan yang didefenisikan oleh Stroustrup dan ditambah dengan satu yang baru. Tetapi, padaumumnya, awal dari draf ini merefleksikan pernyataan dari C++ pada saat itu.

Segera setelah penyelesaian dari draft pertama, sebuah kejadian terjadi bahwa disebabkan standarddikembangkan lebih besar: Pembuatan dari Standard Library Template oleh Alexander Stepanov.STL mengatur routine-routine umum yang dapat anda gunakan untuk memanipulasi data.Keduanya sangat berguna dan elegant. Tapi itu juga sangat besar. Yang berikutnya dari draftpertama, panitia memilih untuk memasukan STL ke dalam spesifikasi bahasa C++. Penambahan STLmemperluas jangkauan dari C++ melebihi defenisi aslinya. Sementara yang penting, inclusion dariSTL, dari yang lainnya berjalan lambat.

Sangat mengesankan untuk mengatakan bahwa standarisasi C++ berjalan jauh dari yang diharapkan.Di dalam prosesnya banyak fitur-fitur baru ditambahkan ke dalamnya, dan banyak perubahan kecilyang dibuat. Faktanya versi C++ yang didefenisikan oleh Panitia ANSI/ISO C++ lebih besar dan lebihkomplek dari pada Stroustrup defenisi. Akhir dari draf telah dilalui panita pada 14 November 1997dan ANSI/ISO standard untuk C++ menjadi kenyataan pada tahun 1998. Inilah spesifikasi dari C++yang sering disebut Standard C++

Materi-materi di dalam buku ini dijabarkan oleh Standard C++. Versi C++ ini support dengan semuacompiler C++, termasuk Microsoft Visual C++. Kemudian code program dan informasi di dalam buku

Page 5: C++ Untuk Pemula

ini dpat digunakan.

Hubungan C++ dengan Java dan C#Di dalam pengembangan C++, ada dua hal penting, bahasa pemrograman yang modern : Java dan C#yang dibangun oleh Sun Microsystem, dan C# yang dibuat oleh Microsoft. Karena kadang-kadangmembingungkan apa hubungannya kedua bahasa ini dengan bahasa C++. Hubungan bahasa ini akandibahas selanjutnya.

C++ adalah induk dari kedua bahasa itu, yaitu Java dan C#. Walaupun keduanya bahasa tersebutditambahkan , dihilangkan, dan dimodifikasi dalam berbagai fitur, pada umumnya sintak-sintakketiga bahasa ini sangat identik. Selanjutnya model object yang digunakan oleh C++ sama sepertiyang digunakan oleh Java dan C#. Pada akhirnya hampir semuanya dari ketiga bahasa ini sangatmirip. Maksudnya jika anda mengetahui C++, anda dapat dengan mudah mempelajari Java atau C#.Sebaliknya juga begitu, Jika anda mengetahu Java atau C#, mempelajari C++ jadi sangat mudah.Inilah salah satu alasan bahwa Java dan C# sharing C++ sintak dan object modal; ini difasilitasi aliranadopsi yang dilakukan oleh programmer-programmer berpengalaman.

Perubahan utama diantara C++, Java dan C# adalah tipe lingkungan untuk masing-masingrancangan. C++ dibuat untuk memproduksi program-program yang performnya tinggi untuk tipeCPU tertentu dan operating system tertentu. Contohnya, jika anda ingin menulis sebuah programyang berjalan di Intel Pentium OS Windows, bahasa C++ adalah yang terbaik untuk digunakan.

Tanya Jawab

T : Apakah Java dan C# dibuat cross-platform, program yang portable, dan mengapa C++ tidak?

J : Java dan C# dapat dibuat cross-platform, program-program portable dan C++ tidak karena

tipe dari code object dihasilkan dari compiler. Di dalam kasus C++, output dari compilermechine code yang secara langsung dieksekusi oleh CPU. Kemudian, itu mengikat ke CPUtertentu dan operating sistem tertentu. Jika anda ingin menjalankan sebuah program C++ didalam system yang berbeda, anda memerlukan rekompile program tersebut kedalamlingkungan mesin code. Untuk menciptakan sebuah C++ program yang dapat berjalan didlam berbagai lingkungan, beberapa executable yang berbeda dari versi program diperlukan.

Java dan C# mencapai portabilitas dengan mengkompilasi sebuah program ke dalam sebuahpseodocode, bahasa pemrograman tingkat menengah. Pada Java, bahasa tingkat menengahini disebut bytecode. Untuk C#, disebut Microsoft Intermediate Language (MSIL). Dalamkasus keduanya pseucode ini di eksekusi oleh system runtime. Untuk Java sistem runtimedisebut Java Virtual Machine (JVM). Untuk C# disebut Common Language Runtime (CLR).Bagamanapun, sebuah program Java dapat di jalankan di lingkungan apa saja selama JVMtersedia dan sebuah program C# dapat dijalan dilingkungan apa saja selama CLRdiimplementasikan.

Page 6: C++ Untuk Pemula

Object-Oriented Programming

Pusat dari C++ adalah OOP, Yang baru saja dijelaskan, OOP telah mendorong pembuatan C++.Karena itu perlu dimengerti prinsip-prinsip dasar OOP sebelum anda menulis sebuah program yangmudah sekalipun.

Pemrograman Object-oriented adalah gagasan terbaik di dalam pemrograman terstruktur danmengkombinasikan mereka dengan beberapa konsep yang baru. Hasilnya berbeda dan lebih baik didalam mengorganisasikan sebuah program. Di dalam kebanyakan pengertian umum, sebuahprogram dapat di organisasikan di dalam satu dari dua cara: Code sekelilingnya (apa yang sedangterjadi) atau data disekelilingnya (apa yang berpengaruh). Dengan hanya menggunakan teknikpemrograman terstruktur, sebuah program diorganisasikan secara tipe sekeliling code. Pendekatanini dapat dilewati sebagai “code acting on data”.

Program-program object-oriented bekerja dengan cara yang lain. Mereka mengorganisasikanlingkungan data, dengan prinsip key “data controlling access to code”. Di dalam bahasa objectoriented, anda mendefenisikan data dan routin-routine yang diijinkan untuk melakukan aksi kedalam data. Kemudian sebuah data didefenisikan dengan tepat operasi-operasi singkat apa sajayang dapat berlaku untuk data tersebut.

Untuk suport kepada prinsip pemrograman object-oriented, semua bahasa OOP, termasuk C++mempunyai tiga kebiasaan, yaitu encapsulation, polymorphism, dan inheritance. Mari lihat masing-masing penjelasannya.

Enkapsulasi

Encapsulation adalah mekanisme pemrograman yang mengikat code secara bersamaan dandatanya di manipulasi, dan tetap menjaga keduanya dari campurtangan dan penyalahgunaan. Didalam bahasa object-oriented, code dan data dapat dibatasi bersama dengan sebuah cara yangdikandungnya dibuat. Di dalam box semua data yang diperlukan dan code. Ketika code dan datadihubungkan bersama dalam kebiasaan ini, sebuah object dibuat. Dengan kata lain, sebuah objectadalah alat yang mendukung encapsulation.

Tanya Jawab

Q: Saya sering mendengan bahwa istilah metode diterapkan untuk sebuah subroutine. Apakah

metode tersebut sama dengan fungsi?

A: Pada umumnya, jawabannya ada Ya. Istilah method sangat populer di dalam Java. Apakah

programmer C++ menamakanya fungsi, seorang programmer Java memanggilnya sebagai method.Programmer C# juga menggunakan istilah method. Karena method mejadi sangat luas digunakan,kadang kala istilah method juga digunakan ketika mengacu kepada fungsi C++. Di dalam sebuahobject, code atau data atau keduanya mungkin private di dalam object ini atau mungkin public.Private code atau data diketahui dan dapat diakses hanya dengan bagian lain dari sebuah object.Itulah sebabnya private code atau data tidak dapat di akses oleh potongan program yang berada diluar object. Ketika code atau data adalah public, bagian lain dari program anda dapatmengaksesnya bahkan kalaupun itu didefenisikan di dalam sebuah object. Pada dasarnya, bagian

Page 7: C++ Untuk Pemula

public dari sebuah object digunakan untuk memberikan kontrol interface untuk elemen-elementprivate dari object.

C++ unit dasar dari encapsulation adalah class. Sebuah class mendefenisikan form dari sebuahobject. Itu menentukan data dan code yang akan beroperasi di dalam data. C++ menggunakansebuah spesifikasi cals untuk membangun object. Object adalah perumpaan dari sebuah class.Dengan demikian sebuah class adalah esensi dari pengaturan rencana yang menentukan bagaimanamembangun sebuah object.

Code dan data yang mengangkat sebuah class disebut member dari sebuah class. Secara rinci,variabel-varieabel member, juga disebut instan variabel yang didefenisikan oleh class. Memberfungsi-fungsi aalah code yang mengoperasi data tersebut. Fungsi di dalam C++ di istilahkan sebagaisebuah subroutine.

Polymorphism

Polymorphism (dari bahasa Yunani, yang berati banyak form – many form) adalah mutu yangmemboleh satu interface untuk mengakses sebuah aksi dari class umum. Sebuah contoh daripolymorphism adalah mengendari sebuah mobil. Mengendari mobil (interface) adalah sama takperduli apapun mekanismenya dari tipenya digunakan. Kemudian membelokan ke kiri disebabkankarena mobil ingin ke kiri tak masalah mengendarai tipe apapun. Keuntungan dari interface yangseragam, sudh tentu, sudah anda ketahui bagaimana untuk mengendarainya, anda dapatmengendari tipe mobil apapun.

Prinsip yang sama dapat juga ditetapkan di dalam pemrograman. Untuk contohnya,mempertimbangkan untuk menumpuk (yang mana yang pertama masuk, terakhir keluar). Andamungkin mempunyai sebuah program yang memerlukan tiga tipe yang berbeda dalam tumpukan.Satu tumpukan digunakan untuk nilai interger, satu untuk floating point, dan yang satunya untukcharacter. Pada kasus ini, algoritma yang diimplementasikan untuk masing-masing tumpukan sama,walaupun data yang disimpan berbeda. Di dalam sebuah bahasa non object-oriented, anda akanmembuat tiga set yang berbeda dari tumpukan routine, dengan masing-masing nama yang berbeda.Bagaimanapun, karena polymorphism, di C++ anda dapat membuat satu set tumpukan rutin yangumum yang dapat digunakan untuk ketiga situasi tersebut. Cara ini, sekali anda mengetahuibagaimana menggunakan satu stack, anda dapat menggunakan semuanya.

Yang lebih umum, konsep dari polymorphism sering disebut sebagai phrase (fase) “satu interface,berbagai method-method”.. Maksudnya bahwa itu mungkin untuk merancang sebuah interfaceyang generic untuk sebuah group yang mempunyai aktivitas yang sama. Polymorphism membantumengurangi kerumitan dengan membolehkan interface yang sama untuk menentukan sebauh classyang umum. Menjadi tugas compiler untuk memilih aksi tertentu (maksudnya method) untukditerapkan di masing-masing situasi. Anda, programmer tidak perlu melakukan pemilihan ini secaramanual. Anda hanya perlu mengingat dan menggunakan interface yang umum.

Inheritance

Inheritance (turunan) adalah prosess yang dilakukan satu objec yang dapat memperoleh properti-properti dari object lainnya. Ini penting karena ini mendukung konsep pengelompokan secarahirarki. Jika anda berpikir tentang itu, kebanyakan pengetahuan dibuat dapat dikelola

Page 8: C++ Untuk Pemula

dikelompokkan secara hirarki. Suatu contoh, Apel merah yang lezat merupakan bagian dari apel,yang merupakan bagian dari kelas buah-buahan, yang merupakan bagian dari makanan. Olehkarena itu, class makan memproses kualitas tertentu (dapat dimakan, bergizi dan sebagainya) yangjuga secara logika dapat diterapkan kedalam subclassnya, yaitu buah-buahan. Di dalamtambahannya kualitas-kualitas ini, class buah-buahan mempunyai karakteristik tertentu (yangbanyak airnya, manis dan sebagainya) yang membedakannya dari makanan yang lainnya.Class apelmendefenisikan kualitas-kualitas tertentu untuk sebuah aple (tumbuh pada pohon, bukan tropicaldan sebagainya). Apel merah yang lezat mewarisi semua kualitas-kualitas class yang terdahulu danakan ditentukan oleh kualitas-kualitas yang unik.

Tanpa menggunakan hirarki, setiap object mempunyai defenisi yang tegas dalam setiapkarakteristiknya. Menggunakan turunan, sebuah object hanya perlu di defenisikan menurutkualitasnya yang dibuat unik di dalam class nya. Itu akan menurun pada atribut-atribut umumnyadari induknya. Kemudian mekanisme turunan itu yang membuat mungkin untuk sebuah objectmenjadi tertentu atau lebih umum.

Ask the ExpertQ: Anda menyatakan bahwa pemrograman object-oriented adalah cara yang lebih efektif untuk

mengelola program-program yang besar. Bagaimanapun, tampaknya bahwa OOP mungkinmenambah biaya yang relatif lebih kecil. Berhubungan dengan C++, apakah itu benar?

A: Tidak, kuncinya adalah untuk mengerti C++ diperbolehkan untuk menulis program object-

oriented, tetapi tidak meminta anda untuk melakukannnya. Inilah satu yang penting perbedaanantara C++ dan Java/C#, yang menggunakan object model dengan tepat di dalam setiap program,setidaknya sedikit perluasan, object oriented. C++ memberikan anda pilihan. Selanjutnya untukkebanyakan bagian, fitur-fitur object oriented C++ transparant pada saat runtime, sehinggaoverhead bisa saja terjadi (jika ada).

Program Sederhana Pertama.Now it is time to begin programming. Let’s start by compiling and running the short sample C++ program

shown here:/*This is a simple C++ program.Call this file Sample.cpp.*/#include <iostream>using namespace std;// A C++ program begins at main().int main(){cout << "C++ is power programming.";return 0;

}

Anda dapat ikuti 3 langkah berikut ini.

Page 9: C++ Untuk Pemula

1. Tulis program

2. Kompile program

3. Jalankan program

Sebelum memulai, mari kita kaji ulang dua istilah : Source code dan object code. Source codeadalah bentuk yang orang bisa baca dari sebuah program. Source code disimpan di dalam sebuahfile teks. Object code adalah bentuk yang dapat dieksekusi dari sebuah program yang dibuat olehcompiler.

Tulis Program

Program-program ditunjukkan di dalam buku ini dapat dilihat dari web osborne’s:www.osborne.com. Bagaimanapun, jika anda ingin masuk ke dalam program-program,anda dapatdengan bebas melakukannya. Mengetik program-program anda sendiri sering membantu andauntuk mengingat kunci konsep-konsep. Jika anda memilih menulis program, anda harusmenggunakan text editor, yang bukan word prosessor. Word prosessor secara khas menyimpanbentuk informasi ke dalam text. Format informasi ini akan membingungkan compiler C++. Jika andamenggunakan windows platform, anda dapat menggunakan wordpad, atau editor pemrogramanlainnya yang anda suka.

Nama file yang menangani source code sebuah program adalah technically arbitrary.Bagaimanapun, program C++ secara normal berisi file yang menggunakan extension.cpp. Dengandemikian anda dapat memanggil file program C++ dengan nama apa saja, tapi itu harusmenggunakan ekstensi .cpp. Untuk contoh pertama ini, nama filenya disebut sample.cpp sehinggaanda dapat mengikutinya. Untuk kebanyakan program-program lain di dalam buki ini, untukmenggunakan nama yang lebih mudah adalah pilihan anda.

Kompile Program

Bagaimana anda melakukan kompilasi Sample.cpp tergantung pada kompiler yang anda pilih.Selanjutnya, banyak kompiler, seperti dari Microsoft Visual C++ Express Edition yang dapat andadownload gratis. Memberikan dua cara yang berbeda untuk mengkompile sebuah program:command line kompiler dan Intergrated Development Environtment (IDE). Kemudian, itu tidakmemungkinkan memberikan instruksi generalisasi ke sebuah program C++. Anda harusberkonsultasi dengan perintah-perintah kompiler.

Sekalipun demikian mengikuti paragraph terdahulu, jika anda menggunakan visual C++, akan lebihmudah untuk melakukan kompile dan menjalankan program di dalam buku ini yang digunakanadalah command line kompiler. Sebagai contoh, untuk mengkompile Sample.cpp menggunakanVisual C++, anda akan menggunakan command line di bawah ini.

C:\...>cl -GX Sample.cpp

Pilihan kompilasi –GX . Untuk menggunakan kompiler command line Visual C++, pertama andaharus mengeksekusi batch file VCVARS32.BAT, yang diberikan Visual C++. (Visual Studio jugamemberikan command promt untuk digunakan yang dapat diaktifkan dengan memilih commandpromt dari daftar tool yang tertera di Microsoft Visual Studio di Start|Program menu dari taskbar)

Page 10: C++ Untuk Pemula

Output dari C++ kompiler adalah object code yang dapat dieksekusi. Untuk Windows, file yangdapat dieksekusi akan digunakan dengan nama yang sama seperti file source code, tetapimempunyai ekstensi .exe. Jadi pada Sample.cpp akan menjadi Sample.exe

Jalankan Program

Setelah program C++ di komple, kemudian siap untuk dijalankan. Sederhana saja masukan nama fileke dalam command prompt. Sebagai contoh untuk menjalan kan Sample.exe menggunakancommand line sebagai berikut :

C:\...>Sample

Ketika dijalankan program akan menampilkan output sebagai berikut :

C++ is power programming.

Jika anda menggunakan Integrated Development Environmet, kemudian anda dapat menjalankanprogram dengan memilih Run dari sebuah menu. Memeriksa instruksi-instruksi tertentu kompileranda. Untuk program-program dalam buku ini, biasanya mudah untuk di kompile dan dijalan daricommand line.

Satu point terakhir. Program-program dalam buku ini berbasis console bukan berbasis windows.Oleh karena itu dijalankan pada command prompt. C++ secara menyeluruh merupakanpemrograman windows. Tentu saja itu merupakan kebiasaan yang digunakan oleh pengembangwindows. Bagaimanapun, tidak ada program-program di dalm buku ini menggunakan windowsGraphic User Interface (GUI). Alasannya agar dapat mudah dimengerti: Program-program windowsagar lebih alami, besar dan kompleks. Biaya yang diperluakan untuk membuatnya juga dapatminimal antara 50 – 70 baris code. Untuk menulis program-program windows yangdidemonstrasikan oleh fitur-fitur bahasa C++ akan membutuhkan ratusan baris pada setiap code.Perbedaannya, program berbasis console lebih pendek dan tipe program-program yang normaldigunakan di dalam mengajarkan pemrogramman. Sekalipun anda master di bahasa pemrogramanC++, anda akan dapat menerapkan pengetahuan anda ke windows programming tanpa masalah.

Contoh Pertama Program Baris per Baris

Meskipun Sample.cpp begitu pendek, di dalamnya termasuk beberapa key fitur-fitur yang biasauntuk program C++. Mari lebih dekat kita menguji masing-masing bagian dari program tersebut.Program dimulan dengan baris :

/*This is a simple C++ program.Call this file Sample.cpp.*/

Ini adalah sebuah kommentar (keterangan). Seperti kebanyakan bahasa pemrogramman, C++memberikan anda tanda ke dalam sebuah program. Isi dalam sebuah comment di abaikan olehkompiler. Tujuan sebuah comment adalah untuk menjabarkan atau menerangkan operasi sebuahprogram kepada siapa saja yang membaca source code. Dalam kasus comment ini untuk mengenaliprogram. Di dalam program yang lebih komplek, anda akan menggunakan comment untukmembantu menerangkan apa masing-masing fitur dari sebauh program, untuk apa dan bagaimanaprogram bekerja. Dengan kata lain, anda dapat menggunakan comment-comment untukmemberikan “play-by-play” gambaran dari program.

Di dalam C++, ada dua cara untuk menuliskan comment. Salah satunya sudah anda lihat. Yangkedua adalah dengan single-line akan ditemukan lebih lanjut dalam program.

Page 11: C++ Untuk Pemula

Baris berikutnya

#include <iostream>

Bahasa C++ mendefenisikan beberapa header, yang berisi informasi yang diperlukan atau bergunadalam program anda. Program ini membutuhkan header iostream, yang mendukung C++ I/Osystem. Header ini disajikan dengan kompiler anda. Sebuah header yang dimasukkan ke dalam

program menggunakan perintah #include. Selanjutnya dalam buku ini akan dipelajari lebih jauhtentang header dan mengapa header itu penting.

Baris selanjutnya adalah

using namespace std;

Ini memberitahukan kepada kompiler untuk menggunakan namespace std. Namespaces secararelatif adalah penambahan yang baru saja terjadi. Walaupun namespaces didiskusikan lebih detildalam buku ini, disini akan diberikan uraian singkat. Sebuah namespaces dibuat untuk menyatakanregion di dalam berbagai program yang element-elementnya dapat diletakkan. Element-elementdapat dijabarkan di dalam satu namespace yang dipisahkan dari element-element lainnya.Namespace membantu di dalam mengorganisasikan program-program besar. Dengan

menggunakan statement kepada kompiler bahwa anda ingin menggunakan namespace std.Inilah namespace yang termasuk Standard C++ library yang dideklarasikan. Dengan menggunakan

namespace std, anda dengan simpel mengakses standard library. (Namespace relatif baru danbeberap kompiler yang lama tidak support dengan namespace. Jika anda menggunakan kompilerlama, lihatlah Appendix B, yang dijabarkan dengan mudah)

Baris berikutnya

// A C++ program begins at main().

Baris ini menunjukkan jenis comment kedua – single line comment. Single line comment dimulaidengan // dan diakhiri dengan akhir baris. Kebiasaannya, programmer-programmer menggunakanmultiline comment ketika menulis program yang besar, agar lebih detil memberikan comentarnyadan single line comment ketika hendak menandai program diperlukan. Bagaimanapun initergantung pada style personal masing-masing.

Baris berikutnya, mengikuti comment-comment sebelumnya yang menunjukan dimana eksekusiprogram di mulai

int main()

Semua program-program bahsa C++ disusun dari satu atau lebih fungsi. Sebagai penjelasan awal,sebuah fungsi adalah sebuah subroutine. Setiap fungsi harus mempunyai nama, dan hanya satufungsi dalam program ini, yaitu main(). Fungsi main() adalah dimana program mulai dieksekusi dan(biasanya) selesai. (secara teknik berbicara, sebuah program C++ dimulai dengan memanggil main()dan, dalam banyak kasus, berakhir saat main() kembali). Tanda kurung yang mengikuti main() tandamulai fungsi main(). Int yang mendahului main() menentukan type data dari main(). Seperti yanganda pelajari, C++ support pada beberapa type data dan int adalah salah satu dari type datatersebut.

Baris berikutnya dalam program adalah

cout << "C++ is power programming.";

Ini adalah konsol statement output. Ini disebabkan pesan C++ pemrogramman yang akanditampilkan ke layar. Program disempurnakan denga menggunakan operator output <<. Operator

Page 12: C++ Untuk Pemula

output menyebabkan ekspresi yang berada di kanannya untuk ditampilkan . Cout sudah dikenalioleh identifier yang berdiri untuk konsol output dan secara umum mengacu ke screen komputer.Kemudian, pernyataan ini menyebabkan pesan ditampilkan ke screen. Perhatikan bahwapernyataan ini berakhir dengan sebuah semicolon. Faktanya, semua statement C++ diakhiri dengansebuah titik koma.

Pesan “C++ is power programming” adalah sebuah string. Di dalam C++, sebuah string adalahrangkaian dari karakter-karakter yang dikurung oleh tanda double kutip (“). String sering digunakandalam bahasa C++

Baris berikutnya di dalam program adalah

return 0;

Baris ini mengakhiri fungsi main() dan karenanya diberi nilai 0. Untuk kebanyakan operating system,mengembalikan nilai 0 berarti menandakan bahwa program kembali normal. Nilai lainnyamenunjukan bahwa program telah diakhiri karena beberapa kesalahan. Return adalah salah satukeyword pada C++, dan itu digunakan untuk mengembalikan nilai ke asalnya dalam sebuah function.Semua program harus mengembalikan nilai ke 0 ketika program tersebut diakhiri.

Tanda tutup kurung kurawa pada akhir program secara formal menutup program.

Penanganan Sintax Error

Jika anda belum melakukan, enter, kompile dan menjalankan program terdahulu. Seperti yang andatahu dari pengalaman pemrograman sebelumnya, itu jauh lebih mudah untuk membuat kesalahanyang tidak disengaja ketika memasukkan code ke dalam komputer. Beruntungnya, jika andamemasukkan sesuatu yang salah ke dalam program anda, kompiler akan memberikan laporan pesankesalahan ketika program tersebut coba di kompile. Kebanyakan kompiler C++ berusaha masuk akaldari source code tidak perduli apa yang anda tulis. Untuk alasan ini, kesalahan yang dilaporkanmungkin tidak selalu mencerminkan masalah yang sebenarnya. Dalam program sebelumnya,sebagai contoh suatu kesalahan terjadi tanpa membuka kurung kurawa setelah main() mungkinkompiler melaporkan pernyataan cout sebagai penyebab kesalahan. Ketika anda menerima pesankesalah, bersiaplah untuk melihat beberapa baris terakhir dari code di dalam program anda untukmenemukan kesalahan tersebut.

Program Sederhana ke duaMungkin tidak ada konsepsi sebagai dasar pemrograman sebagai variabel. Sebuah variabelberlokasi yang diberi nama memori yang ditandai dengan sebuah nilai. Kemudian, nilai variabeldapat dirubah pada saat program di eksekusi. Itu artinya, isi sebuah variabel dapat berubah,bukannya tetap.

Program tersebut membuat sebuah variabel yang dinamakan length, diberi nilai 7, dan kemudaimenampilkan pesang “The length is 7” kedalam layar.

#include <iostream>using namespace std;

int main()

Page 13: C++ Untuk Pemula

{int length; //mendeklarasikan sebuah variabel bernama lengthlength = 7; //memberi nilai 7 pada variabel length

cout << "The length is : "; //menampilkan pada layarcout << length;

return 0;}

Seperti yang disebutkan sebelumnya, penamaan program dalam C++ bisa dilakukan sembarangan.Kemudian, ketika anda masuk ke dalam program ini, pilihlah nama file yang anda sukai. Sebagaicontoh, anda dapat memberi nama Vardemo.cpp

int length; // this declares a variable

Menyatakan length sebagai variabel interger. Di dalam C++, semua variabel harus di deklarasikanterlebih dahulu sebelum variabel tersebut digunakan. Jenis dari nilai variabel harus ditentukan. Inidisebut jenis dari variabel. Pada kasus ini, variabel length bernilai interger. Artinya bernilai angkayang memiliki range dari -32,728 sampai 32.767. Di dalam C++ untuk mendeklarasikan sebuahvariabel berjenis integer harus didahulukan dengan keyword int. Kemudian, anda dapat melihatbahwa C++ mendukung berbagai tipe variabel. (anda dapat membuat type data anda sendiri.

Fitur baru yang kedua dapat ditemukan di baris code berikutnya

length = 7; // this assigns 7 to length

Seperti yang ditunjukkan oleh comment, memberikan nilai 7 pada variabel length. Di dalam C++,penugasan operator ditandai dengan tanda sama dengan (=). Itu menyalin nilai yang berada di sisikanan ke dalam variabel yang berada di sisi kiri. Setelah menandai, variabel length akan bernilai 7.

Pernyataan berikut menampilkan nilai variabel length :

cout << length; // This displays 7

Pada umumnya, jika anda ingin menampilkan nilai variabel, secara sederhana meletakkannya kesebelah kanan dari cout << statement. Pada kasus tertentu, karena variabel length berisi nilai 7,jadi nilai inilah yang ditampilkan ke screen. Sebelum kita lanjutkan, mungkin anda ingin mencobanilai dari variabel length lainnya dan melihat bagaimana hasilnya.

Menggunakan Sebuah OperatorSeperti kebanyakan bahasa pemrogramman lain, C++ juga support terhadap operator aritmatikayang dapat dipakai untuk memanipulasi nilai-nilai numerik yang digunakan di dalam program.Diantaranya adalah (+) penambahan, (-) pengurangan, (*) perkalian, (/) pembagian

Page 14: C++ Untuk Pemula

Operator-operator tersebut berkerja seperti di aljabar. Program berikut menggunakan operator *(perkalian) untuk menghitung luas sebuah persegi panjang yang diberikan panjang dan lebar.

//Menggunakan operator

#include <iostream>using namespace std;

int main(){

int length; //mendeklariskan sebuah variabel lengthint width; //dekalarsi variabel widthint area; //deklarasi variabel area

length = 7;width = 5;area = length * width;

cout << "The area is : ";cout << area;

return 0; //mengembalikan ke nilai semula}

Program ini mendeklarasikan 3 variabel, yaout length, width dan area. Length bernilai 7, widthbernilai 5 dan hasil perhitungannya disimpan ke dalam variabel area. Hasil dari program sepertigambar di bawah ini :

The area is 35

Dalam program ini, sebenarnya tidak perlu variabel area. Sebagai contoh, program ini dapat ditulisulang seperti ini:

Page 15: C++ Untuk Pemula

//Menggunakan operator

#include <iostream>using namespace std;

int main(){

int length; //mendeklariskan sebuah variabel lengthint width; //dekalarsi variabel width

length = 7;width = 5;

cout << "The area is : ";cout << length * width;

return 0; //mengembalikan ke nilai semula}

Dalam versi ini, area dihitung dalam laporan cout dengan mengalikan length dengan width. Hasilnyakemudian di kirim ke layar.

Satu hal lagi sebelum kita melanjutkan: Adalah mungkin untuk menyatakan dua atau lebih variabeldengan menggunakan pernyataan deklarasi yang sama. Hanya memisahkan nama mereka dengankoma. Sebagai contoh, length, width, dan area bisa dinyatakan seperti ini:

int length, width, area; // all declared using one statement

Mendeklarasikan dua atau lebih variabel dalam sebuah pernyataan tunggal adalah sangat umum dikalangan programmer C++ profesional.

Membaca Input dari KeyboardContoh sebelumnya operator secara eksplisit ditentukan didalam program. Misalnya, programdaerah hanya ditampilkan menghitung luas sebuah persegi panjang 7 dengan 5, dan setiapdimensinya merupakan bagian dari program itu sendiri. Tentu saja, perhitungan luas persegipanjang adalah sama tidak peduli berapa ukurannya, sehingga program akan jauh lebih bermanfaatjika user memasukkan nilai dari keyboard.

Untuk supaya pengguna dapat memasukkan data ke dalam sebuah program dari keyboard, Andaakan menggunakan operator >>. Ini adalah Operator input di dalam C++. Untuk membaca darikeyboard, bentuk umumnya sebagai berikut

cin >> var;

Di sini, cin merupakan identifier yang telah ditetapkan. Singkatan dari konsol masukan (ConsoleInput) dan secara otomatis disediakan oleh C + +. Secara default, cin terkait dengan keyboard,meskipun dapat diarahkan ke perangkat lain. Variabel yang menerima input ditentukan oleh var.

Ini program yang ditulis untuk user memasukkan nilai

Page 16: C++ Untuk Pemula

/* An interactive program that computers the area of a rectangle */#include <iostream>using namespace std;int main(){int length, width;

cout << "Enter the length : ";cin >> length; //memasukkan nilai length dari keyboard

cout << "Enter the width : ";cin >> width;

cout << "The area is : ";cout << length * width;

return 0;}

Berikut ini ketika program dijalankan :

Enter the length: 8Enter the width: 3The area is 24

Perhatikan baris program di bawah ini :

cout << "Enter the length: ";cin >> length; // input the length

Pernyataan cout mendorong pengguna. Pernyataan cin membaca respon pengguna, menyimpannilai ke dalam variabel length. Dengan demikian, nilai yang dimasukkan oleh pengguna (harusberupa integer dalam kasus ini) dimasukkan ke dalam variabel yang ada di sisi kanan >> (dalamkasus ini, variabel length). Dengan demikian, setelah pernyataan cin mengeksekusi, variabel lengthakan berisi panjang persegi panjang tersebut. (Jika pengguna memasukkan respon nonnumeric,panjang akan menjadi nol.) Pernyataan untuk variabel width dilakukan dengan cara yang sama.

Beberapa Pilihan Output

Sejauh ini, kami telah menggunakan jenis yang paling sederhana dari statement cout. Namun,statement cout memungkinkan keluaran yang lebih canggih. Berikut adalah dua teknik yangberguna. Pertama, Anda dapat menampilkan lebih dari satu informasi menggunakan pernyataancout tunggal. Misalnya, dalam program luas, kedua lini digunakan untuk menampilkan daerah:

cout << "The area is "; cout << length * width;

Dua statement ini dapat lebih ringkas :

cout << "The area is " << length * width;

Pendekatan ini menggunakan dua operator output dalam pernyataan cout yang sama. Secarakhusus, itu output string "The area is " diikuti oleh variabel area. Secara umum, Anda dapatmerangkaikan bersama dalam satu pernyataan output. Hanya menggunakan << terpisah untuksetiap item.

Kedua, sampai saat ini, belum ada kesempatan untuk memajukan output ke baris berikutnya-yaitu,untuk menjalankan sebuah carriage return-linefeed urutan. Namun, kebutuhan ini akan munculsegera. Dalam C + +, carriage return-linefeed urutan dihasilkan menggunakan karakter baris baru.

Page 17: C++ Untuk Pemula

Untuk meletakkan karakter baris baru ke dalam string, gunakan kode ini: \ n (backslash diikutidengan huruf n kecil). Untuk melihat efek dari \ n, cobalah program berikut:

/*This program demonstrates the \n code, which generates a newline.*/#include <iostream>using namespace std;int main(){

cout << "one\n";cout << "two\n";cout << "three";cout << "four";return 0;

}

Hasilnya akan seperti berikut :

one twothreefour

Karakter baris baru dapat ditempatkan di manapun dalam string, bukan hanya di akhir. Andamungkin ingin mencoba bereksperimen dengan karakter baris baru sekarang, hanya untukmemastikan Anda memahami persis apa yang dilakukannya.

Jenis Data Lainnya

Dalam program sebelumnya, variabel bertipe int digunakan. Namun, sebuah variabel bertipe inthanya dapat menyimpan bilangan bulat. Dengan demikian, tidak dapat digunakan ketika komponenpecahan diperlukan. Sebagai contoh, sebuah variabel int dapat menyimpan nilai 18, tetapi tidak nilai18,3. Untungnya, int hanya salah satu dari beberapa tipe data yang didefinisikan oleh C + +. Untukmemungkinkan nomor dengan komponen pecahan, C + + mendefinisikan dua jenis floating-pointutama: float dan double, yang mewakili nilai-nilai tunggal dan double-presisi, masing-masing. Darikeduanya, double mungkin yang paling umum digunakan.

Untuk mendeklarasikan variabel dari tipe double, menggunakan pernyataan yang sama seperti dibawah ini

double result;

Di sini, hasilnya adalah nama variabel, yang merupakan tipe double. Karena hasil memiliki tipefloating-point, dapat menyimpan nilai-nilai seperti 88,56,, 0,034 atau -107,03.

Page 18: C++ Untuk Pemula

/*Program ini mengilustrasikan perbedaanantara interger dgn double*/

#include <iostream>using namespace std;

int main(){int variaint; //variabel integerdouble variadoub; //variabel double

variaint = 100; //menyimpan nilai 100 ke variaintvariadoub = 100.0;

cout << "Original value of variaint : " << variaint << "\n";cout << "Original value of variadoub : " << variadoub << "\n";

cout << "\n";

variaint = variaint / 3;variadoub = variadoub / 3;

cout << "Nilai variaint setelah pembagian : " << variaint << "\n";cout << "Nilai variadoub setelah pembagian : " << variadoub << "\n";

return 0;}

The output from this program is shown here:Original value of ivar: 100Original value of dvar: 100

ivar after division: 33dvar after division: 33.3333

Seperti yang Anda lihat, ketika variaint dibagi dengan 3, hasilnya adalah 33-komponen pecahanhilang. Namun, ketika variadoub dibagi dengan 3, hasilnya pecahan 33.3333

Ada sesuatu yang baru di dalam program ini, yaitu baris

cout << "\n"; // print a blank line

Ini menghasilkan baris baru. Gunakan statement ini untuk menambahk baris kosong pada output.

Project 1-1 Konversi dari Feet ke Meter.Meskipun contoh program sebelumnya menggambarkan beberapa fitur penting dari bahasa C + +,mereka tidak sangat berguna. Anda mungkin tidak tahu banyak tentang C + + pada saat ini, tapiAnda masih dapat menempatkan apa yang Anda pelajari bekerja untuk membuat program praktis.Dalam proyek ini, kita akan menciptakan sebuah program yang mengkonversi feet ke meter.Program ini meminta user untuk memasukkan jumlah feet. Kemudian menampilkan nilai yang

Page 19: C++ Untuk Pemula

dikonversi menjadi meter.

Se meter adalah sama dengan sekitar 3,28 feet. Jadi, kita perlu menggunakan floating-point data.Untuk melakukan konversi, program mendeklarasikan dua variabel ganda. Salah satu akanmemegang jumlah feet, dan yang kedua akan mengadakan konversi ke meter.

Step by Step

1. Buat baru C + + file bernama FtoM.cpp. (Ingat, di C + + nama file adalah sembarangan, sehinggaAnda dapat menggunakan nama lain jika Anda suka.)

2. Mulailah program dengan garis-garis ini, yang menjelaskan apa program ini, termasuk headeriostream, dan menentukan namespace std.

/*Project 1-1This program converts feet to meters.Call this program FtoM.cpp.*/

#include <iostream> using namespace std;

3. Mulai fungsi main() dengan mendeklarasikan variabel f dan mint main(){double f; // holds the length in feetdouble m; // holds the conversion to meters

4. Tambahkan code yang menginput nilai feet :cout << "Enter the length in feet: ";cin >> f; // read the number of feet

5. Tambahkan code yang mengerjakan konversim = f / 3.28; // convert to meterscout << f << " feet is " << m << " meters.";

6. Tutupprogramdenganmengembalikannilaike0

return 0; }

7. Setelah selesai program anda akan terlihat seperti ini

Page 20: C++ Untuk Pemula

/*Project 1-1This program converts feet to meters.Call this program FtoM.cpp.*/#include <iostream> using namespace std;int main(){double f; // holds the length in feetdouble m; // holds the conversion to meterscout << "Enter the length in feet: ";cin >> f; // read the number of feetm = f / 3.28; // convert to meterscout << f << " feet is " << m << " meters.";

return 0;}

7. Kompile dan jalankan program, hasilnya akan seperti di bawah ini

Enter the length in feet: 5 5 feet is 1.52439 meters.

8. Cobalah memasukkan nilai yang lainnya, juga coba merubah program.

Dua Kontrol StatementsDi dalam fungsi, hasil eksekusi, dari satu statement berikutnya dari atas ke bawah. Hal inidimungkinkan, namun, untuk mengubah aliran dapat menggunakan variasi program denganstatement control yang support oleh C++. Tentu saja kita akan melihat lebih dekat control statementnanti, secara singkat dua control statement diperkenalkan di sini karena kita akan menggunakanmereka untuk menulis program sampel.

Statement If

Anda dapat memilih pengeksekusian bagian program melalui conditional statement C++: the if.

If statement dalan C++ bekerja sama seperti if statement pada bahasa pemrogrammanlainnya. Seperti sintak if statement dalam bahasa C, Java dan C#.

if(condition) statement;

Dimana condition adalah ekspresi yang bernilai true atau false. Di dalam C++, true adalah

nonzero (bukan nol) dan false adalah nol. Jika condition adalah true (benar), statementberikutnya akan dieksekusi. Jika condition false, statement berikutnya tidak akan dieksekusi.Contoh, sebagai gambaran 10 adalah lebih kecil dari 11

if(10 < 11) cout << "10 is less than 11";

Namun pertimbangkanlah hal sebagai berikut di bawah :

if(10 > 11) cout << "this does not display";

Di dalam kasus ini, 10 tidak lebih besar dari 11, sehingga cout statement tidak dieksekusi. Tentusaja, operandi-operandi di dalam if statement tidak saja konstant, bisa saja variabel.

C++ mendefenisikan semua kelengkaan dari operator-operator hubungan yang digunakan di dalamekspresi conditional. Operator tersebut adalah :

Page 21: C++ Untuk Pemula

Operator Meaning

< Less than

<= Less than or equal

> Greater than

>= Greater than or equal

== Equal to

!= Not equal

Perhatikan bahwa untuk persamaan ditandai dengan tanda sama dengan ganda (==).

// Demonstrate the if.#include <iostream> using namespace std;a is less than bc contains -1c is negativec contains 1c is non-negative

For Loop

Anda dapat mengulang-ngulang eksekusi sebuah rangkai code dengan membuat sebuah loop. C++menyediakan beragam konstruksi pengulang. Salah satu yang akan kita jumpai adalah loop. Jikaanda sudah familiar dengan C# atau Java, loop dalam bahasa C++ bekerja dengan cara yang sama.Bentuk sederhana dari loop dapat dilihat di bawah ini :

for(initialization; condition; increment) statement;

Di sini, initialization mengatur sebuah variabel loop control untuk sebuah nilai inisial, conditionadalah sebuah ekspresi yang menguji setiap kali loop diulang. Selama kondisi benar (bukan nol),loop terus berjalan. Increment adalah ekspresi yang menentukan bagaimana variabel kontrol loopbertambah setiap kali mengulangi loop.

Program berikut menunjukkan untuk. Mencetak angka 1 sampai 100 pada layar.

#include <iostream>using namespace std;

int main(){

int hitung;for(hitung = 1; hitung <= 100 ; hitung = hitung + 1)cout << hitung << " ";return 0;

}

Dalam loop, hitung di beri nilai 1. Setiap kali loop mengulang, condition count <= 100 di uji. Jikabenar, nilai akan dikeluarkan dan hitung bertambah 1. Ketika hitung telah mencapai nilai lebih besardari 100, condition bernilai false, dan loop berhenti. Didalam pemrogramman professional C++Anda hampir tidak akan pernah melihat pernyataan seperti

count=count+1

karena C++ memasukkan operator spesial penambahan yang lebih efisien. Operator penambahanitu adalah ++. Operator tersebut bertambah 1. Untuk contoh, mengikuti statement di atas code

Page 22: C++ Untuk Pemula

akan ditulis

for(count=1; count <= 100; count++)cout << count << " ";

Ini adalah bentuk yang selalu digunakan dalam buku ini. C++ juga memberikan bentuk pengurangan1 dengan bentuk --

Menggunakan Blok dari Code Program.Element kunci yang lainnya dari C++ adalah block code. Sebuah blok code adalah pengelompokkandari dua atau lebih statement. Ini dapa dilakukan dengan meletakan statement-statement di dalamtanda kuruang kurawa. Sekali blok code dibuat, blok code tersebut menjadi sebuah unit logik yangdapat digunakan dimanapun. Contoh, sebuah blok code menjadi sebuah target dari if dan forstatement.

if(w < h) {v = w * h;w = 0;

}

Disini, jika w lebih kecil dari h, kemudian statement didalam blok akan di eksekusi. Dengandemikian, dua statement di dalam blok membentuk unit logis, dan satu statement tidak dapatdieksekusi tanpa yang lainnya dieksekusi juga. Titik kunci di sini adalah bahwa setiap kali Anda perlumenghubungkan dua atau lebih pernyataan logis, Anda melakukannya dengan menciptakan blok.Blok kode memungkinkan banyak algoritma yang akan dilaksanakan dengan lebih jelas dan efisiensi.

Dibawah ini sebuah program yang menggunakan blok dari kode yang mencegah pembagian 0

//Demonstrate a block of code#include <iostream>using namespace std;

int main() {double result, n, d;cout << "Masukkan nilai N : ";cin >> n;

cout << "Masukkan Divisor (d) :";cin >> d;

//the target of this if is a blockif(d != 0) {

cout << "d does not equal zero so division is ok" << "\n";result = n /d;cout << n << " / " << d << " is " << result ;}

return 0;}

Hasilnya :

Page 23: C++ Untuk Pemula

Enter value: 10Enter divisor: 2d does not equal zero so division is OK10 / 2 is 5

Dalam kasus ini, target dari statement if adalah sebuah blok code dan bukan hanya statementtunggal. Jika kondisi pengontrol if adalah benar (seperti sampel). Tiga statement di dalam blok codedi eksekusi. Cobalah masukan nilai nol ke dalam divisor dan amati hasilnya. Maka code di dalamblock code di lewati.

Seperti yang akan Anda lihat nanti dalam buku ini, blok kode memiliki properti tambahan danpenggunaannya. Namun, alasan utama untuk keberadaan mereka adalah untuk menciptakan unitlogis yang tidak terpisahkan dari kode.

Tanda titik koma dan penempatannya

Dalam C + +, titik koma menandai akhir sebuah pernyataan. Artinya, setiap pernyataan tunggalharus diakhiri dengan titik koma. Seperti yang Anda tahu, satu blok code adalah satu set pernyataansecara logis terhubung yang dikelilingi dengan membuka dan menutup tanda kurung. Sebuah bloktidak diakhiri dengan titik koma. Sebuah blok code adalah sekelompok dari statement, dengan titikkoma pada setiap akhirnya, maka masuk akal bahwa sebuah blok code tidak diakhiri dengan titikkoma, tetapi diakhiri dengan tanda kurung kurawa tutup.

C++ tidak mengenal akhir baris sebagai akhir statement – hanya tanda titik koma yang mengakhirisebuah statement. Oleh karena itu tidak jadi masalah dimanapun anda meletakan sebuahstatement.

Contoh :x = y;y = y + 1;cout << x << " " << y;

Sama dengan :

x = y; y = y + 1; cout << x << " " << y;

Selanjutnya, element-element tunggal dari sebuah statement dapat juga di tempatkan di baris yangberbeda. Seperti contoh di bawah ini

cout << "This is a long line. The sum is : " << a + b + c+ d + e + f;

Memutuskan baris yang panjang menjadi kebiasaan yang sering dilakakan dalam membuat programmenjadi mudah dibaca. Ini juga dapat membantu menghindari baris-baris yang panjang.

Indentation Practices

Anda mungkin telah mencatata di contoh sebelumnya maksud dari statement-statement tertentu.C++ adalah bahasa pemrogramman yang bebas, maksudnya bahwa tidak masalah dimanapun andamenempatkan statement-statement di dalam baris program. Bagaimanapun, dalam beberapatahun, sebuah kebiasaan dan gaya penulisan telah dikembangkan yang membuat program dapatmudah dibaca. Buku ini mengikuti gaya tersebut, dan itu sangat dianjurkan untuk anda lakukan.Dengan menggunakan gaya penulisan ini, anda memberikan spasi satu tingkat setelah tanda bukakurung kurawa dan kembali ke spasi sebelumnya setelah tanda tutup kurung kurawa. Ada beberapa

Page 24: C++ Untuk Pemula

statement-statement tertentu yang dianjurkan untuk menambahkan spasei; ini akan dipelajarinanti.

Project 1-2 Konversi Feet ke Meter.Project ini mendemostrasikan for loop, if statement dan blok code untuk membuat satu programyang menampilkan tabel konversi ukuran panjang dari meter ke feet. Tabel di mulai dari 1 feet danberakhir pada 100 feet. Setiap 10 feet, ditampilkan baris kosong. Ini diulang sampai variabel yangdipanggil yang menghitung nomor baris yang telah ditampilkan ke screen. Perhatikanpenggunaannya :

Langkah-langkahnya:

1. Buat baru sebuah file

2. Ikuti baris program di bawah ini/*Mengkonversi satuan panjang dari feet ke meterdari 1 feet sampai dengan 100 feetsetiap 10 feet dibuatkan garis kosongnama file CONTOH11*/#include <iostream>using namespace std;

int main() {

double feet, batasfeet;double meter;int counter;

cout << "Masukkan nilai batas feet : ";cin >> batasfeet;

counter = 0;

for (feet = 1.0; feet <= batasfeet; feet ++) {meter = feet / 3.28;cout << feet << "feet is " << meter << "meter . \n";counter ++;//setiap 10 feet diberi baris kosongif (counter == 10) {

cout << "\n";counter = 0;

}}return 0;

}

Page 25: C++ Untuk Pemula

3. Perhatikan bagaimana variabel counter digunakan untuk mendapatkan sebuah baris kosongsetiap 10 baris. Counter diberi nilai 0 diluar loop. Di dalam loop, counter bertambah 1 setiapkonversi, ketika counter mencapai nilai 10, sebuah garis kosong ditampilkan dan counter di resetkembali bernilai 0 dan proses berulang.

4. Kompile dan jalankan program. Outputnya dapat anda lihat di bawah ini

1 feet is 0.304878 meters.

2 feet is 0.609756 meters.

3 feet is 0.914634 meters.

4 feet is 1.21951 meters.

5 feet is 1.52439 meters.

6 feet is 1.82927 meters.

7 feet is 2.13415 meters.

8 feet is 2.43902 meters.

9 feet is 2.7439 meters.

10 feet is 3.04878 meters.

11 feet is 3.35366 meters.

12 feet is 3.65854 meters.

13 feet is 3.96341 meters.

14 feet is 4.26829 meters.

15 feet is 4.57317 meters.

16 feet is 4.87805 meters.

17 feet is 5.18293 meters.

18 feet is 5.4878 meters.

19 feet is 5.79268 meters.

20 feet is 6.09756 meters.

21 feet is 6.40244 meters.

22 feet is 6.70732 meters.

23 feet is 7.0122 meters.

24 feet is 7.31707 meters.

25 feet is 7.62195 meters.

26 feet is 7.92683 meters.

27 feet is 8.23171 meters.

28 feet is 8.53659 meters.

29 feet is 8.84146 meters.

30 feet is 9.14634 meters.

31 feet is 9.45122 meters.

32 feet is 9.7561 meters.

33 feet is 10.061 meters.

34 feet is 10.3659 meters.

35 feet is 10.6707 meters.

36 feet is 10.9756 meters.

37 feet is 11.2805 meters.

Page 26: C++ Untuk Pemula

38 feet is 11.5854 meters.

39 feet is 11.8902 meters.

40 feet is 12.1951 meters.

Pengenalan Fungsi.Sebuah program C++ dibangun dari pembangunan block program yang disebut fungsi (function).Walaupn kita melihat fungsi pada modul 5, ulasan ringkas dapat berguna saat ini. Mari kita mulaidengan defenisi dari fungsi tersebut , sebuah fungsi adalah subroutine yang berisi satu atau lebihstatement-statement.

MyFunc();

Ketika fungsi di panggil, kontrol program di tranter ke fungsi tersebut, dan code yang berisi fungsidieksekusi. Ketika fungsi berakhir kontrol program di transfer kembali ke pemanggil. Kemudiansebuah fungsi melakukan tugas untuk bagian dari program.

Beberapa fungsi memerlukan satu atau lebih argument, yang dilewati ketika fungsi dipanggil.Dengan demikian sebuah argument adalah sebuah nilai yang di lewati fungsi. Argument ditentukanpada pembukaan dan penutupan tandakurung ketika fungsi di panggil. Contohnya , if myFunc()membutuhkan sebauh argumen interger, kemudian dengan memanggil MyFunct() dengan nilai 2:

MyFunc(2);

Ketika ada dua atau lebih argument, argument-argument tersebut dipisahkan oleh koma (,). Tidaksemua fungsi memiliki argument. Ketika tidak ada argument maka tanda kurungnya kosong.

Sebuah fungsi dapat mengembalikan nilai yang dipanggil code. Tidak semua fungsi-fungsimengembalikan nilai. Nilai dikembalikan oleh fungsi dapat ditandai dengan sebuah variabel yangdipanggil code dengan menmpatkan disebelah kanan dari statement penugasan. Contohnya, jikaMyFunc() mengembalikan sebuah nilai, fungsi tersebut dapat dipanggil seperti contoh di bawah ini :

x = MyFunc(2);

Statement tersebut bekerja seperti berikut. Pertama, MyFunc() di panggil. Pertama, myfunc ()dipanggil. Ketika kembali, nilai kembali ditugaskan ke x. Anda juga dapat menggunakan panggilan kefungsi dalam ekspresi. misalnya

x = MyFunc(2) + 10;

Dalam kasus ini, nilai dari MyFunc() di tambah 10, dan hasilnya disimpan pada variabel x, padaumumnya apapun nama fungsinya ketika ditemukan dalam sebuah statement, secara otomatis dipanggil sehingga dapat menghasilkan nilai yang diperoleh.

Untuk mengulas ulang, sebuah argumen adalah sebuah nilai yang di lewati ke dalam fungsi. Hasildari nilai adalah data yang dilewati kembali ke code yang memanggil.

Dalam program pendek ini yang mendemonstrasikan bagaimana memanggil sebuah fungsi. Inimenggunakan fungsi C++, untuk menampilkan nilai absolute dari sebuah angka. Fungsi abs()mengambil satu argument, kemudian mengkonversinya ke dalam nilai absoulute danmengembalikan hasilnya.

Page 27: C++ Untuk Pemula

//menggunakan fungsi abs()//contoh12#include <iostream>#include <cstdlib>using namespace std;

int main() {int hasil;hasil = abs(-10);cout << hasil;return 0;

}

Perhatikan program sebelumnya, di dalamnya terdapat includes cstdlib. Header ini yang dibutuhkanoleh fungsi abs(). Kapanpun anda membutuhkan built in fungsi, anda harus memasukkanheadernya.

Pada umumnya ada dua jenis fungsi yang sering digunakan dalan setiap program. Pertama yang kitabuat sendiri, fungsi main() adalah contoh jenis fungsi yang kita buat sendiri. Nanti, kita akan belajarbagaimana membuat fungsi-fungsi lain. Seperti yang anda lihat program C++ berisi banyak fungsiyang ditulis oleh programmernya.

Kedua adalah jenis fungsi yang diberikan oleh kompiler. Fungsi abs() yang digunakan pada programsebelumnya adalah sebuah contoh. Program yang anda tulis secara umum berisi kedua fungsitersebut, yaitu fungsi yang anda buat dan yang diberikan oleh kompiler.

Ketika fungsi menunjuk ke dalam text, buku ini menggunakan dan terus menggunakan konvensiyang telah menjadi kebiasaan penulisan programdi dalam C++. Sebuah fungsi diikuti tanda dalamkurung setelah namanya. Contohnya jika sebuah fungsi diberi nama getval, akan ditulis getval().Dengan cara ini akan menolong anda membedakan antara variabel dengan fungsi.

The C++ Libraries

Seperti yang telah dijelaskan, abs() diberikan oleh kompiler C++. Fungsi ini dan banyak yang lainnyadapat ditemukan di pustaka standar C++. Kita akan menggunakan fungsi-fungsi yang ada dalampustaka C++ dalam beberapa contoh program pada buku ini.

C++ mendefenisikan pengaturan besar dari fungsi yang berada pada pustaka standar fungsi. Fungsi-fungsi ini menyelenggarakan keperluan tugas-tugas yang biasa, termasuk operasi I/O, perhitunganmatematika dan penanganan string. Ketika anda menggunakan sebuah fungsi dari pustaka,kompiler C++ secara otomatis menghubungkan object code untuk fungsi tersebut ke object code kedalam program anda.

Karena standar pustaka begitu besar, di dalamnya sudah tersedia banyak fungsi yang anda butuhkandi dalam pembuatan program. Pustaka fungsi melakukan seperti blok-blok bangunan yang dapatditerapkan dengan mudah. Anda harus mengeksplorasi fungsi-fungsi tersebut.

Selain menyediakan pustaka fungsi, setiap kompiler C++ juga berisi sebuah pustaka class, yangberorientasi objek.

Page 28: C++ Untuk Pemula

C++ KeywordsAda 63 keyword pada saat ini yang didefenisikan standar C++. Keyword tersebut ada pada tabel 1-1

IdentifiersDalam C++ sebuah pengenal (identifier) adalah sebuah nama dari fungsi, variabel atau lainnya yangdidefenisikan oleh user. Identifier bisa berupa beberapa karakter. Nama variabel dapat dimulaidengan hurup atau alphabet atau sebuah garis bawah. Kemudian sebuah hurup, sebuah digit, atausebuah garis bawah. Garis bawah dapat digunakan agar nama variabel lebih mudah dibaca, seperti

hitung_baris. Hurup besar atau hurup kecil adalah berbeda; oleh karena itu di dalam C++myvar dan MyVar adalah berbeda. Ada satu batasan yang penting: Anda tidak dapat menggunakankeyword C++ sebagai nama indentifier

Dibawah ini adalah contoh dari identifier yang benar.

Perlu diingat, anda tidak dapat memulai sebuah identifier dengan sebuah digit. Dengan demikian98ok tidaklah valid. Pemrogramman yang bagus memberi nama identifier yang merefleksikankegunaannya.