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 keistimewaankeistimewaan 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
aspek dari bahasa C++ tanpa menyertakan yang lainnya. Untuk membantu masalah ini, modul ini memberikan gambaran singkat dari beberapa keistimewaan-keistimewaan bahasa C++, termasuk form-form umumnya, statement-statement control dasar dan operator-operator. Pembahasanya tidak 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 (Object oriented Proggramming) yang akan dijabarkan nanti dalam modul ini. Bahasa C++ juga penambahan dari beberapa perbaikan dari Bahasa C, termasuk perluasan dari pengaturan routines library. Bagaimanapun, Bahasa C++ merupakan warisan dari Bahasa C secara langsung, sehingga untuk memahamai secara menyeluruh anda perlu memahami bahasa C.
C: Mengawali Pemrogramman Modern. Penemuan bahasa C awal dimulainya pemrogramman modern. Itu berpengaruh yang seharusnya tidak diremehkan karena secara dasarnya berubah cara pemrogramman. Perancangan philosophynya dan sintak telah mempengaruhi setiap bahasa pemrograman utama. Bahasa pemrograman C adalah bahasa pemrograman yang utama, yang revolusioner di dalam dunia komuter. Bahasa C pertama kali ditemukan dan di implementasikan oleh Dennis Ritchie dengan menggunakan operating system UNIX. Bahasa C adalah hasil dari proses pengembangan yang dimulai dari bahasa yang BCPL. BC PL yang dikembangkan oleh Martin Richards. BPCL mempengaruhi sebuah bahasa pemrogramman yang disebut B yang ditemukan oleh Ken Thompson dan yang memimpin pengembangan bahasa C pada tahun 1970 an. Penemuan sebelumnya dari bahasa C, bahasa-bahasa komputer umumnya dirancang sebagai latihan akademik atau komite-komite birokrasi. Bahasa C berbeda, yang dirancang, diimplementasikan dan dikembangkan dengan nyata, oleh programmer-programmer, yang merefleksikan cara kerja pemrogramman. Itulah keistimewaannya yang diasah, diuji, pemikiran tentang dan dikaji ulang oleh pengguna bahasa yang sesungguhnya. Sebagai hasilnya, Bahasa C sangat menarik banyak pendukung dan secara cepat menjadi bahasa yang dipilih para programmer di dunia. Bahasa C berkembang sebagai bahasa pemrogramman terstruktur pada tahun 1960 an. Sebelum pemrogramman terstruktur, banyak program-program sangat sulit. Bahasa pemrogramman terstruktur menujukan masalah ini dengan menambahkan pendefenisian yang sangat baik pernyataan-pernyataan control (control statement), subroutines dengan variabel-variabel local dan kemajuan-kemajuan lainnya. Dengan menggunakan bahasa pemrograman terstruktur, itu menjadi mungkin untuk ditulis menjadi program yang lebih besar. Walaupun ada bahasa-bahasa pemrograman lainnya pada saat ini seperti Pascal, bahasa C yang pertama berhasil mengkombinasikan kekuatan, ke-elegant-an, dan secara ekspressive. Secara tepatnya, sintaknya mudah untuk digunakan, merupakan philosophynya bahwa programmerprogrammer dapat dengan cepat mempelajarinya. Mempelajarinya tidak menjadi sulit untuk dimengerti, 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.
Kebutuhan C++ Dari bahasan sebelumnya, anda mungkin terkejut mengapa bahasa C++ ditemukan. Sejak bahasa C sukses menjadi bahasa pemrogramman, mengapa harus membutuhkan yang lainnya. Jawabannya sangat komplek. Sepanjang sejarah pemrogramman, bertambahnya kerumitan dari suatu program menyebabkan kebutuhan cara yang lebih baik untuk mengelola ke rumitan tersebut. Bahasa C++ merespon apa yang dibutuhkan. Dengan pemahaman yang lebih baik hubungan antara penambahan kerumitan program maka pembangunan bahasa pemrogramman mengikutinya. Mengikuti pemrogramman yang berubah secara dramatis sejak ditemukannya komputer. Sebagai contoh, ketika komputer-komputer ditemukan pertama kali, pemrogramman telah dilakukan dengan menggunakan komputer-komputer dengan instruksi binary. Program-program dikerjakan dengan ratusan instruksi. Pemrogramanpun berkembang, bahasa assembly ditemukan sehingga programmer-programmer dapat melakukannya dengan mudah, bertambahnya kerumitan programprogra dengan menggunakan simbol-simbol yang mewakili instruksi-instruksi bahasa mesin. Program terus berkembang, high level language telah dikembangkan untuk memberikan programmer-programmer berbagai tool-tool untuk menangani kerumitan tersebut. Pertama kali bahasa komputer yang digunakan secara luas adalah FORTAN. FORTRAN sangat mengesankan pada langkah awalnya, program-program yang mudah untuk dimengerti. Pada tahun 1960 an lahir bahasa pemrogramman terstruktur yang metode pemrogramman di dukung oleh Bahasa C. Dengan pemrogram terstruktur , untuk pertama kali, memungkinkan membuat programprogrm yang komplek menjadi lebih mudah. Namun bagaimanapun bahkan dengan metode pemrogram terstruktur sebuah project dapat dicapai dengan ukuran tertentu, ketika kerumitan bertambah apa yang dapat dikelola oleh programmer. Baru pada tahun 1970 banyak project dapat dilakukan. Untuk merespon masalah ini, banyak cara baru untuk membuat program muncul: Object-Oriented Programming (OOP). Dengan mengunakan OOP, seorang programmer dapat menangani program yang lebih besar dan lebih komplek. Masalahnya bahasa C tidak mendukung OOP. Keinginan untuk mendukung layanan OOP untuk Bahasa C maka dibuat bahasa C++ Hasil akhir analisa, walaupun bahasa C merupakan salah satu bahasa yang paling banyak digunakan oleh programer-programer profesional di dunia ini, pada saatnya muncul suatu bahasa yang dapat menangani kekomplekan yang lebih luas. Sekali sebuah program mencapai ukuran tertentu, program tersebut menjadi lebih komplek sehingga menjadi sulit untuk mengelolanya. Tujuan dari bahasa pemrogramman C++ adalah untuk menangani kendala ini dan membantu programmerprogramer 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 Murray Hill, New Jersey. Pada awalnya dia memanggail bahasa C++ ini dengan “C with Classes”. Namun pada tahun 1983 berubah menjadi C++ Stroustrup membangun bahasa C++ berdasarkan bahasa C, termasuk semua keistimewaankeistimewanya, attribute-attributenya dan manfaat-manfaatnya. Dia juga mengikuti philosophi bahasa C. Pada masalah ini, yang terpenting untuk dipahami bahwa Stroustrup tidak membuat keseluruhan bahasa pemrograman. Dia hanya menambahkan bahasa pemrograman yang memang sudah sukses.
Kelebihan-kelebihan dari keistimewaan yang Stroustrup tambahkan ke bahasa C telah dirancang untuk support dengan OOP. Pada intinya, C++ adalah versi OOP dari Bahasa C. Dengan membangun berdasarkan bahasa C, Stroustrup memberikan perpindahan yang mulus ke dalam OOP. Ditambah pernah mempelajari semua yang ada dalam Bahasa C, seorang programmer hanya perlu mempelajari bebarapa keistimewaan-keistimewaan baru sebelum mendapatkan manfaat dari metodelogi OOP. Ketika membuat C++, Stroustrup mengetahui bahwa penting untuk merawat keaslian semangat dari bahasa C, termasuk efisiensi, fleksibelitas, dan philosophy, sementara itu pada saat yang sama menambahkan support terhadap OOP. Menggembirakan, tujuannya tercapai. C++ masih memberikan programmer-programmer kebebasan dan control dari bahasa C, dan dapat menggabungkan dengan kekuatan objeck-objek. Walaupun C++ pada awalnya dirancang untuk membantu di dalam mengelola program yang sangat besar, 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 untuk mengetahui C++ digunakan untuk sebuah editor project, database, system file personal, utility networking dan program-program komunikasi. Karena C++ dapat dishare secara efisien, dengan perform yanglebih tinggi dari sistem software yang dibangun dengan menggunakan C++. Bahasa C++ juga dapat digunakan oleh programming windows.
Evolusi C++ Sejak C++ pertama kali dikembangkan, telah mengalami 3 kali revisi besar, setiap revisi menambahkan 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 (American National Standard Institute) dan ISO (International Standards Organization) persetujuanpersetujuan standarisasai telah dilakukan. Draf pertama dari pengajuan standard dibuat pada 25 Januari 1994. Di dalam draft tersebut ANSI/ISO dan C++ setuju mempetahankan keistimewaankeistimewaan yang didefenisikan oleh Stroustrup dan ditambah dengan satu yang baru. Tetapi, pada umumnya, awal dari draf ini merefleksikan pernyataan dari C++ pada saat itu. Segera setelah penyelesaian dari draft pertama, sebuah kejadian terjadi bahwa disebabkan standard dikembangkan 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 draft pertama, panitia memilih untuk memasukan STL ke dalam spesifikasi bahasa C++. Penambahan STL memperluas jangkauan dari C++ melebihi defenisi aslinya. Sementara yang penting, inclusion dari STL, 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 kecil yang dibuat. Faktanya versi C++ yang didefenisikan oleh Panitia ANSI/ISO C++ lebih besar dan lebih komplek dari pada Stroustrup defenisi. Akhir dari draf telah dilalui panita pada 14 November 1997 dan 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 semua compiler C++, termasuk Microsoft Visual C++. Kemudian code program dan informasi di dalam buku
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-kadang membingungkan apa hubungannya kedua bahasa ini dengan bahasa C++. Hubungan bahasa ini akan dibahas selanjutnya. C++ adalah induk dari kedua bahasa itu, yaitu Java dan C#. Walaupun keduanya bahasa tersebut ditambahkan , dihilangkan, dan dimodifikasi dalam berbagai fitur, pada umumnya sintak-sintak ketiga bahasa ini sangat identik. Selanjutnya model object yang digunakan oleh C++ sama seperti yang digunakan oleh Java dan C#. Pada akhirnya hampir semuanya dari ketiga bahasa ini sangat mirip. 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 aliran adopsi yang dilakukan oleh programmer-programmer berpengalaman. Perubahan utama diantara C++, Java dan C# adalah tipe lingkungan untuk masing-masing rancangan. C++ dibuat untuk memproduksi program-program yang performnya tinggi untuk tipe CPU tertentu dan operating system tertentu. Contohnya, jika anda ingin menulis sebuah program yang 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 compiler mechine code yang secara langsung dieksekusi oleh CPU. Kemudian, itu mengikat ke CPU tertentu dan operating sistem tertentu. Jika anda ingin menjalankan sebuah program C++ di dalam system yang berbeda, anda memerlukan rekompile program tersebut kedalam lingkungan mesin code. Untuk menciptakan sebuah C++ program yang dapat berjalan di dlam berbagai lingkungan, beberapa executable yang berbeda dari versi program diperlukan. Java dan C# mencapai portabilitas dengan mengkompilasi sebuah program ke dalam sebuah pseodocode, bahasa pemrograman tingkat menengah. Pada Java, bahasa tingkat menengah ini disebut bytecode. Untuk C#, disebut Microsoft Intermediate Language (MSIL). Dalam kasus keduanya pseucode ini di eksekusi oleh system runtime. Untuk Java sistem runtime disebut Java Virtual Machine (JVM). Untuk C# disebut Common Language Runtime (CLR). Bagamanapun, sebuah program Java dapat di jalankan di lingkungan apa saja selama JVM tersedia dan sebuah program C# dapat dijalan dilingkungan apa saja selama CLR diimplementasikan.
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 yang mudah sekalipun. Pemrograman Object-oriented adalah gagasan terbaik di dalam pemrograman terstruktur dan mengkombinasikan mereka dengan beberapa konsep yang baru. Hasilnya berbeda dan lebih baik di dalam mengorganisasikan sebuah program. Di dalam kebanyakan pengertian umum, sebuah program dapat di organisasikan di dalam satu dari dua cara: Code sekelilingnya (apa yang sedang terjadi) atau data disekelilingnya (apa yang berpengaruh). Dengan hanya menggunakan teknik pemrograman terstruktur, sebuah program diorganisasikan secara tipe sekeliling code. Pendekatan ini dapat dilewati sebagai “code acting on data”. Program-program object-oriented bekerja dengan cara yang lain. Mereka mengorganisasikan lingkungan data, dengan prinsip key “data controlling access to code”. Di dalam bahasa object oriented, anda mendefenisikan data dan routin-routine yang diijinkan untuk melakukan aksi ke dalam data. Kemudian sebuah data didefenisikan dengan tepat operasi-operasi singkat apa saja yang 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 masingmasing penjelasannya.
Enkapsulasi Encapsulation adalah mekanisme pemrograman yang mengikat code secara bersamaan dan datanya di manipulasi, dan tetap menjaga keduanya dari campurtangan dan penyalahgunaan. Di dalam bahasa object-oriented, code dan data dapat dibatasi bersama dengan sebuah cara yang dikandungnya dibuat. Di dalam box semua data yang diperlukan dan code. Ketika code dan data dihubungkan bersama dalam kebiasaan ini, sebuah object dibuat. Dengan kata lain, sebuah object adalah 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 sebuah object, 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 di luar object. Ketika code atau data adalah public, bagian lain dari program anda dapat mengaksesnya bahkan kalaupun itu didefenisikan di dalam sebuah object. Pada dasarnya, bagian
public dari sebuah object digunakan untuk memberikan kontrol interface untuk elemen-element private dari object. C++ unit dasar dari encapsulation adalah class. Sebuah class mendefenisikan form dari sebuah object. Itu menentukan data dan code yang akan beroperasi di dalam data. C++ menggunakan sebuah spesifikasi cals untuk membangun object. Object adalah perumpaan dari sebuah class. Dengan demikian sebuah class adalah esensi dari pengaturan rencana yang menentukan bagaimana membangun 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. Member fungsi-fungsi aalah code yang mengoperasi data tersebut. Fungsi di dalam C++ di istilahkan sebagai sebuah subroutine.
Polymorphism Polymorphism (dari bahasa Yunani, yang berati banyak form – many form) adalah mutu yang memboleh satu interface untuk mengakses sebuah aksi dari class umum. Sebuah contoh dari polymorphism adalah mengendari sebuah mobil. Mengendari mobil (interface) adalah sama tak perduli apapun mekanismenya dari tipenya digunakan. Kemudian membelokan ke kiri disebabkan karena mobil ingin ke kiri tak masalah mengendarai tipe apapun. Keuntungan dari interface yang seragam, sudh tentu, sudah anda ketahui bagaimana untuk mengendarainya, anda dapat mengendari tipe mobil apapun. Prinsip yang sama dapat juga ditetapkan di dalam pemrograman. Untuk contohnya, mempertimbangkan untuk menumpuk (yang mana yang pertama masuk, terakhir keluar). Anda mungkin mempunyai sebuah program yang memerlukan tiga tipe yang berbeda dalam tumpukan. Satu tumpukan digunakan untuk nilai interger, satu untuk floating point, dan yang satunya untuk character. Pada kasus ini, algoritma yang diimplementasikan untuk masing-masing tumpukan sama, walaupun data yang disimpan berbeda. Di dalam sebuah bahasa non object-oriented, anda akan membuat 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 yang umum yang dapat digunakan untuk ketiga situasi tersebut. Cara ini, sekali anda mengetahui bagaimana 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 interface yang generic untuk sebuah group yang mempunyai aktivitas yang sama. Polymorphism membantu mengurangi kerumitan dengan membolehkan interface yang sama untuk menentukan sebauh class yang umum. Menjadi tugas compiler untuk memilih aksi tertentu (maksudnya method) untuk diterapkan di masing-masing situasi. Anda, programmer tidak perlu melakukan pemilihan ini secara manual. Anda hanya perlu mengingat dan menggunakan interface yang umum.
Inheritance Inheritance (turunan) adalah prosess yang dilakukan satu objec yang dapat memperoleh propertiproperti dari object lainnya. Ini penting karena ini mendukung konsep pengelompokan secara hirarki. Jika anda berpikir tentang itu, kebanyakan pengetahuan dibuat dapat dikelola
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. Oleh karena itu, class makan memproses kualitas tertentu (dapat dimakan, bergizi dan sebagainya) yang juga secara logika dapat diterapkan kedalam subclassnya, yaitu buah-buahan. Di dalam tambahannya kualitas-kualitas ini, class buah-buahan mempunyai karakteristik tertentu (yang banyak airnya, manis dan sebagainya) yang membedakannya dari makanan yang lainnya.Class apel mendefenisikan kualitas-kualitas tertentu untuk sebuah aple (tumbuh pada pohon, bukan tropical dan sebagainya). Apel merah yang lezat mewarisi semua kualitas-kualitas class yang terdahulu dan akan ditentukan oleh kualitas-kualitas yang unik. Tanpa menggunakan hirarki, setiap object mempunyai defenisi yang tegas dalam setiap karakteristiknya. Menggunakan turunan, sebuah object hanya perlu di defenisikan menurut kualitasnya yang dibuat unik di dalam class nya. Itu akan menurun pada atribut-atribut umumnya dari induknya. Kemudian mekanisme turunan itu yang membuat mungkin untuk sebuah object menjadi tertentu atau lebih umum.
Ask the Expert Q:
Anda menyatakan bahwa pemrograman object-oriented adalah cara yang lebih efektif untuk mengelola program-program yang besar. Bagaimanapun, tampaknya bahwa OOP mungkin menambah biaya yang relatif lebih kecil. Berhubungan dengan C++, apakah itu benar?
A:
Tidak, kuncinya adalah untuk mengerti C++ diperbolehkan untuk menulis program objectoriented, tetapi tidak meminta anda untuk melakukannnya. Inilah satu yang penting perbedaan antara C++ dan Java/C#, yang menggunakan object model dengan tepat di dalam setiap program, setidaknya sedikit perluasan, object oriented. C++ memberikan anda pilihan. Selanjutnya untuk kebanyakan bagian, fitur-fitur object oriented C++ transparant pada saat runtime, sehingga overhead 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
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.
1. Tulis program 2. Kompile program 3. Jalankan program Sebelum memulai, mari kita kaji ulang dua istilah : Source code dan object code. Source code adalah bentuk yang orang bisa baca dari sebuah program. Source code disimpan di dalam sebuah file teks. Object code adalah bentuk yang dapat dieksekusi dari sebuah program yang dibuat oleh compiler.
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 dapat dengan bebas melakukannya. Mengetik program-program anda sendiri sering membantu anda untuk mengingat kunci konsep-konsep. Jika anda memilih menulis program, anda harus menggunakan text editor, yang bukan word prosessor. Word prosessor secara khas menyimpan bentuk informasi ke dalam text. Format informasi ini akan membingungkan compiler C++. Jika anda menggunakan windows platform, anda dapat menggunakan wordpad, atau editor pemrograman lainnya 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. Dengan demikian anda dapat memanggil file program C++ dengan nama apa saja, tapi itu harus menggunakan ekstensi .cpp. Untuk contoh pertama ini, nama filenya disebut sample.cpp sehingga anda dapat mengikutinya. Untuk kebanyakan program-program lain di dalam buki ini, untuk menggunakan 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 anda download gratis. Memberikan dua cara yang berbeda untuk mengkompile sebuah program: command line kompiler dan Intergrated Development Environtment (IDE). Kemudian, itu tidak memungkinkan memberikan instruksi generalisasi ke sebuah program C++. Anda harus berkonsultasi dengan perintah-perintah kompiler. Sekalipun demikian mengikuti paragraph terdahulu, jika anda menggunakan visual C++, akan lebih mudah untuk melakukan kompile dan menjalankan program di dalam buku ini yang digunakan adalah command line kompiler. Sebagai contoh, untuk mengkompile Sample.cpp menggunakan Visual 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 anda harus mengeksekusi batch file VCVARS32.BAT, yang diberikan Visual C++. (Visual Studio juga memberikan command promt untuk digunakan yang dapat diaktifkan dengan memilih command promt dari daftar tool yang tertera di Microsoft Visual Studio di Start|Program menu dari taskbar)
Output dari C++ kompiler adalah object code yang dapat dieksekusi. Untuk Windows, file yang dapat dieksekusi akan digunakan dengan nama yang sama seperti file source code, tetapi mempunyai 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 file ke dalam command prompt. Sebagai contoh untuk menjalan kan Sample.exe menggunakan command 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 menjalankan program dengan memilih Run dari sebuah menu. Memeriksa instruksi-instruksi tertentu kompiler anda. Untuk program-program dalam buku ini, biasanya mudah untuk di kompile dan dijalan dari command line. Satu point terakhir. Program-program dalam buku ini berbasis console bukan berbasis windows. Oleh karena itu dijalankan pada command prompt. C++ secara menyeluruh merupakan pemrograman windows. Tentu saja itu merupakan kebiasaan yang digunakan oleh pengembang windows. Bagaimanapun, tidak ada program-program di dalm buku ini menggunakan windows Graphic User Interface (GUI). Alasannya agar dapat mudah dimengerti: Program-program windows agar lebih alami, besar dan kompleks. Biaya yang diperluakan untuk membuatnya juga dapat minimal antara 50 – 70 baris code. Untuk menulis program-program windows yang didemonstrasikan oleh fitur-fitur bahasa C++ akan membutuhkan ratusan baris pada setiap code. Perbedaannya, program berbasis console lebih pendek dan tipe program-program yang normal digunakan di dalam mengajarkan pemrogramman. Sekalipun anda master di bahasa pemrograman C++, 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 biasa untuk 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 oleh kompiler. Tujuan sebuah comment adalah untuk menjabarkan atau menerangkan operasi sebuah program kepada siapa saja yang membaca source code. Dalam kasus comment ini untuk mengenali program. Di dalam program yang lebih komplek, anda akan menggunakan comment untuk membantu menerangkan apa masing-masing fitur dari sebauh program, untuk apa dan bagaimana program bekerja. Dengan kata lain, anda dapat menggunakan comment-comment untuk memberikan “play-by-play” gambaran dari program. Di dalam C++, ada dua cara untuk menuliskan comment. Salah satunya sudah anda lihat. Yang kedua adalah dengan single-line akan ditemukan lebih lanjut dalam program.
Baris berikutnya #include
Bahasa C++ mendefenisikan beberapa header, yang berisi informasi yang diperlukan atau berguna dalam program anda. Program ini membutuhkan header iostream, yang mendukung C++ I/O system. Header ini disajikan dengan kompiler anda. Sebuah header yang dimasukkan ke dalam program menggunakan perintah #include. Selanjutnya dalam buku ini akan dipelajari lebih jauh tentang header dan mengapa header itu penting. Baris selanjutnya adalah using namespace std;
Ini memberitahukan kepada kompiler untuk menggunakan namespace std. Namespaces secara relatif adalah penambahan yang baru saja terjadi. Walaupun namespaces didiskusikan lebih detil dalam buku ini, disini akan diberikan uraian singkat. Sebuah namespaces dibuat untuk menyatakan region di dalam berbagai program yang element-elementnya dapat diletakkan. Element-element dapat 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 dan beberap kompiler yang lama tidak support dengan namespace. Jika anda menggunakan kompiler lama, 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 dimulai dengan // dan diakhiri dengan akhir baris. Kebiasaannya, programmer-programmer menggunakan multiline comment ketika menulis program yang besar, agar lebih detil memberikan comentarnya dan single line comment ketika hendak menandai program diperlukan. Bagaimanapun ini tergantung pada style personal masing-masing. Baris berikutnya, mengikuti comment-comment sebelumnya yang menunjukan dimana eksekusi program 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 satu fungsi 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() tanda mulai fungsi main(). Int yang mendahului main() menentukan type data dari main(). Seperti yang anda pelajari, C++ support pada beberapa type data dan int adalah salah satu dari type data tersebut. Baris berikutnya dalam program adalah cout << "C++ is power programming.";
Ini adalah konsol statement output. Ini disebabkan pesan C++ pemrogramman yang akan ditampilkan ke layar. Program disempurnakan denga menggunakan operator output <<. Operator
output menyebabkan ekspresi yang berada di kanannya untuk ditampilkan . Cout sudah dikenali oleh identifier yang berdiri untuk konsol output dan secara umum mengacu ke screen komputer. Kemudian, pernyataan ini menyebabkan pesan ditampilkan ke screen. Perhatikan bahwa pernyataan ini berakhir dengan sebuah semicolon. Faktanya, semua statement C++ diakhiri dengan sebuah titik koma. Pesan “C++ is power programming” adalah sebuah string. Di dalam C++, sebuah string adalah rangkaian dari karakter-karakter yang dikurung oleh tanda double kutip (“). String sering digunakan dalam 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 lainnya menunjukan bahwa program telah diakhiri karena beberapa kesalahan. Return adalah salah satu keyword 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 anda tahu dari pengalaman pemrograman sebelumnya, itu jauh lebih mudah untuk membuat kesalahan yang tidak disengaja ketika memasukkan code ke dalam komputer. Beruntungnya, jika anda memasukkan sesuatu yang salah ke dalam program anda, kompiler akan memberikan laporan pesan kesalahan ketika program tersebut coba di kompile. Kebanyakan kompiler C++ berusaha masuk akal dari source code tidak perduli apa yang anda tulis. Untuk alasan ini, kesalahan yang dilaporkan mungkin tidak selalu mencerminkan masalah yang sebenarnya. Dalam program sebelumnya, sebagai contoh suatu kesalahan terjadi tanpa membuka kurung kurawa setelah main() mungkin kompiler melaporkan pernyataan cout sebagai penyebab kesalahan. Ketika anda menerima pesan kesalah, bersiaplah untuk melihat beberapa baris terakhir dari code di dalam program anda untuk menemukan kesalahan tersebut.
Program Sederhana ke dua Mungkin tidak ada konsepsi sebagai dasar pemrograman sebagai variabel. Sebuah variabel berlokasi yang diberi nama memori yang ditandai dengan sebuah nilai. Kemudian, nilai variabel dapat 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 kemudai menampilkan pesang “The length is 7” kedalam layar. #include using namespace std; int main()
{ int length; //mendeklarasikan sebuah variabel bernama length length = 7; //memberi nilai 7 pada variabel length cout << "The length is : "; cout << length;
//menampilkan pada layar
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. Sebagai contoh, anda dapat memberi nama Vardemo.cpp int length; // this declares a variable
Menyatakan length sebagai variabel interger. Di dalam C++, semua variabel harus di deklarasikan terlebih dahulu sebelum variabel tersebut digunakan. Jenis dari nilai variabel harus ditentukan. Ini disebut jenis dari variabel. Pada kasus ini, variabel length bernilai interger. Artinya bernilai angka yang memiliki range dari -32,728 sampai 32.767. Di dalam C++ untuk mendeklarasikan sebuah variabel berjenis integer harus didahulukan dengan keyword int. Kemudian, anda dapat melihat bahwa 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 sisi kanan 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 ke sebelah 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 mencoba nilai dari variabel length lainnya dan melihat bagaimana hasilnya.
Menggunakan Sebuah Operator Seperti kebanyakan bahasa pemrogramman lain, C++ juga support terhadap operator aritmatika yang dapat dipakai untuk memanipulasi nilai-nilai numerik yang digunakan di dalam program. Diantaranya adalah (+) penambahan, (-) pengurangan, (*) perkalian, (/) pembagian
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 using namespace std; int main() { int length; int width; int area;
//mendeklariskan sebuah variabel length //dekalarsi variabel width //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, width bernilai 5 dan hasil perhitungannya disimpan ke dalam variabel area. Hasil dari program seperti gambar di bawah ini :
The area is 35
Dalam program ini, sebenarnya tidak perlu variabel area. Sebagai contoh, program ini dapat ditulis ulang seperti ini:
//Menggunakan operator #include using namespace std; int main() { int length; int width;
//mendeklariskan sebuah variabel length //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. Hasilnya kemudian di kirim ke layar. Satu hal lagi sebelum kita melanjutkan: Adalah mungkin untuk menyatakan dua atau lebih variabel dengan menggunakan pernyataan deklarasi yang sama. Hanya memisahkan nama mereka dengan koma. 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 di kalangan programmer C++ profesional.
Membaca Input dari Keyboard Contoh sebelumnya operator secara eksplisit ditentukan didalam program. Misalnya, program daerah hanya ditampilkan menghitung luas sebuah persegi panjang 7 dengan 5, dan setiap dimensinya merupakan bagian dari program itu sendiri. Tentu saja, perhitungan luas persegi panjang adalah sama tidak peduli berapa ukurannya, sehingga program akan jauh lebih bermanfaat jika user memasukkan nilai dari keyboard. Untuk supaya pengguna dapat memasukkan data ke dalam sebuah program dari keyboard, Anda akan menggunakan operator >>. Ini adalah Operator input di dalam C++. Untuk membaca dari keyboard, bentuk umumnya sebagai berikut cin >> var;
Di sini, cin merupakan identifier yang telah ditetapkan. Singkatan dari konsol masukan (Console Input) 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
/* An interactive program that computers the area of a rectangle */ #include 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: 8 Enter the width: 3 The 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, menyimpan nilai ke dalam variabel length. Dengan demikian, nilai yang dimasukkan oleh pengguna (harus berupa integer dalam kasus ini) dimasukkan ke dalam variabel yang ada di sisi kanan >> (dalam kasus ini, variabel length). Dengan demikian, setelah pernyataan cin mengeksekusi, variabel length akan 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 yang berguna. Pertama, Anda dapat menampilkan lebih dari satu informasi menggunakan pernyataan cout 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. Secara khusus, itu output string "The area is " diikuti oleh variabel area. Secara umum, Anda dapat merangkaikan bersama dalam satu pernyataan output. Hanya menggunakan << terpisah untuk setiap 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 muncul segera. Dalam C + +, carriage return-linefeed urutan dihasilkan menggunakan karakter baris baru.
Untuk meletakkan karakter baris baru ke dalam string, gunakan kode ini: \ n (backslash diikuti dengan huruf n kecil). Untuk melihat efek dari \ n, cobalah program berikut: /* This program demonstrates the \n code, which generates a new line. */ #include using namespace std; int main() { cout << "one\n"; cout << "two\n"; cout << "three"; cout << "four"; return 0; }
Hasilnya akan seperti berikut : one two threefour
Karakter baris baru dapat ditempatkan di manapun dalam string, bukan hanya di akhir. Anda mungkin ingin mencoba bereksperimen dengan karakter baris baru sekarang, hanya untuk memastikan Anda memahami persis apa yang dilakukannya.
Jenis Data Lainnya Dalam program sebelumnya, variabel bertipe int digunakan. Namun, sebuah variabel bertipe int hanya dapat menyimpan bilangan bulat. Dengan demikian, tidak dapat digunakan ketika komponen pecahan diperlukan. Sebagai contoh, sebuah variabel int dapat menyimpan nilai 18, tetapi tidak nilai 18,3. Untungnya, int hanya salah satu dari beberapa tipe data yang didefinisikan oleh C + +. Untuk memungkinkan nomor dengan komponen pecahan, C + + mendefinisikan dua jenis floating-point utama: float dan double, yang mewakili nilai-nilai tunggal dan double-presisi, masing-masing. Dari keduanya, double mungkin yang paling umum digunakan. Untuk mendeklarasikan variabel dari tipe double, menggunakan pernyataan yang sama seperti di bawah ini double result;
Di sini, hasilnya adalah nama variabel, yang merupakan tipe double. Karena hasil memiliki tipe floating-point, dapat menyimpan nilai-nilai seperti 88,56,, 0,034 atau -107,03.
/* Program ini mengilustrasikan perbedaan antara interger dgn double */ #include using namespace std; int main() { int variaint; //variabel integer double variadoub; //variabel double variaint = 100; //menyimpan nilai 100 ke variaint variadoub = 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: 100 Original value of dvar: 100 ivar after division: 33 dvar after division: 33.3333
Seperti yang Anda lihat, ketika variaint dibagi dengan 3, hasilnya adalah 33-komponen pecahan hilang. 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, tapi Anda 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
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 akan memegang 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, sehingga Anda dapat menggunakan nama lain jika Anda suka.) 2. Mulailah program dengan garis-garis ini, yang menjelaskan apa program ini, termasuk header iostream, dan menentukan namespace std. /* Project 1-1 This program converts feet to meters. Call this program FtoM.cpp. */ #include using namespace std;
3. Mulai fungsi main() dengan mendeklarasikan variabel f dan m int main() { double f; // holds the length in feet double 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 konversi m = f / 3.28; // convert to meters cout << f << " feet is " << m << " meters.";
6. Tutup program dengan mengembalikan nilai ke 0 return 0; }
7. Setelah selesai program anda akan terlihat seperti ini
/* Project 1-1 This program converts feet to meters. Call this program FtoM.cpp. */ #include using namespace std; int main() { double f; // holds the length in feet double m; // holds the conversion to meters cout << "Enter the length in feet: "; cin >> f; // read the number of feet m = f / 3.28; // convert to meters cout << 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 Statements Di dalam fungsi, hasil eksekusi, dari satu statement berikutnya dari atas ke bawah. Hal ini dimungkinkan, namun, untuk mengubah aliran dapat menggunakan variasi program dengan statement control yang support oleh C++. Tentu saja kita akan melihat lebih dekat control statement nanti, secara singkat dua control statement diperkenalkan di sini karena kita akan menggunakan mereka 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 pemrogramman lainnya. 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), statement berikutnya 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. Tentu saja, operandi-operandi di dalam if statement tidak saja konstant, bisa saja variabel. C++ mendefenisikan semua kelengkaan dari operator-operator hubungan yang digunakan di dalam ekspresi conditional. Operator tersebut adalah :
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 using namespace std; a is less than b c contains -1 c is negative c contains 1 c 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. Jika anda 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, condition adalah sebuah ekspresi yang menguji setiap kali loop diulang. Selama kondisi benar (bukan nol), loop terus berjalan. Increment adalah ekspresi yang menentukan bagaimana variabel kontrol loop bertambah setiap kali mengulangi loop. Program berikut menunjukkan untuk. Mencetak angka 1 sampai 100 pada layar. #include 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. Jika benar, nilai akan dikeluarkan dan hitung bertambah 1. Ketika hitung telah mencapai nilai lebih besar dari 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 penambahan itu adalah ++. Operator tersebut bertambah 1. Untuk contoh, mengikuti statement di atas code
akan ditulis for(count=1; count <= 100; count++) cout << count << " ";
Ini adalah bentuk yang selalu digunakan dalam buku ini. C++ juga memberikan bentuk pengurangan 1 dengan bentuk --
Menggunakan Blok dari Code Program. Element kunci yang lainnya dari C++ adalah block code. Sebuah blok code adalah pengelompokkan dari dua atau lebih statement. Ini dapa dilakukan dengan meletakan statement-statement di dalam tanda kuruang kurawa. Sekali blok code dibuat, blok code tersebut menjadi sebuah unit logik yang dapat digunakan dimanapun. Contoh, sebuah blok code menjadi sebuah target dari if dan for statement. if(w < h) { v = w * h; w = 0; }
Disini, jika w lebih kecil dari h, kemudian statement didalam blok akan di eksekusi. Dengan demikian, dua statement di dalam blok membentuk unit logis, dan satu statement tidak dapat dieksekusi tanpa yang lainnya dieksekusi juga. Titik kunci di sini adalah bahwa setiap kali Anda perlu menghubungkan 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 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 block if(d != 0) { cout << "d does not equal zero so division is ok" << "\n"; result = n /d; cout << n << " / " << d << " is " << result ; } return 0; }
Hasilnya :
Enter value: 10 Enter divisor: 2 d does not equal zero so division is OK 10 / 2 is 5
Dalam kasus ini, target dari statement if adalah sebuah blok code dan bukan hanya statement tunggal. Jika kondisi pengontrol if adalah benar (seperti sampel). Tiga statement di dalam blok code di eksekusi. Cobalah masukan nilai nol ke dalam divisor dan amati hasilnya. Maka code di dalam block code di lewati. Seperti yang akan Anda lihat nanti dalam buku ini, blok kode memiliki properti tambahan dan penggunaannya. Namun, alasan utama untuk keberadaan mereka adalah untuk menciptakan unit logis yang tidak terpisahkan dari kode.
Tanda titik koma dan penempatannya Dalam C + +, titik koma menandai akhir sebuah pernyataan. Artinya, setiap pernyataan tunggal harus diakhiri dengan titik koma. Seperti yang Anda tahu, satu blok code adalah satu set pernyataan secara logis terhubung yang dikelilingi dengan membuka dan menutup tanda kurung. Sebuah blok tidak diakhiri dengan titik koma. Sebuah blok code adalah sekelompok dari statement, dengan titik koma pada setiap akhirnya, maka masuk akal bahwa sebuah blok code tidak diakhiri dengan titik koma, tetapi diakhiri dengan tanda kurung kurawa tutup. C++ tidak mengenal akhir baris sebagai akhir statement – hanya tanda titik koma yang mengakhiri sebuah statement. Oleh karena itu tidak jadi masalah dimanapun anda meletakan sebuah statement. 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 yang berbeda. 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 program menjadi 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 anda menempatkan statement-statement di dalam baris program. Bagaimanapun, dalam beberapa tahun, sebuah kebiasaan dan gaya penulisan telah dikembangkan yang membuat program dapat mudah 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 buka kurung kurawa dan kembali ke spasi sebelumnya setelah tanda tutup kurung kurawa. Ada beberapa
statement-statement tertentu yang dianjurkan untuk menambahkan spasei; ini akan dipelajari nanti.
Project 1-2 Konversi Feet ke Meter. Project ini mendemostrasikan for loop, if statement dan blok code untuk membuat satu program yang menampilkan tabel konversi ukuran panjang dari meter ke feet. Tabel di mulai dari 1 feet dan berakhir pada 100 feet. Setiap 10 feet, ditampilkan baris kosong. Ini diulang sampai variabel yang dipanggil yang menghitung nomor baris yang telah ditampilkan ke screen. Perhatikan penggunaannya :
Langkah-langkahnya: 1. Buat baru sebuah file 2. Ikuti baris program di bawah ini /* Mengkonversi satuan panjang dari feet ke meter dari 1 feet sampai dengan 100 feet setiap 10 feet dibuatkan garis kosong nama file CONTOH11 */ #include 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 kosong if (counter == 10) { cout << "\n"; counter = 0; } } return 0; }
3.
Perhatikan bagaimana variabel counter digunakan untuk mendapatkan sebuah baris kosong setiap 10 baris. Counter diberi nilai 0 diluar loop. Di dalam loop, counter bertambah 1 setiap konversi, ketika counter mencapai nilai 10, sebuah garis kosong ditampilkan dan counter di reset kembali 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.
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 mulai dengan defenisi dari fungsi tersebut , sebuah fungsi adalah subroutine yang berisi satu atau lebih statement-statement. MyFunc();
Ketika fungsi di panggil, kontrol program di tranter ke fungsi tersebut, dan code yang berisi fungsi dieksekusi. Ketika fungsi berakhir kontrol program di transfer kembali ke pemanggil. Kemudian sebuah 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 ditentukan pada 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 (,). Tidak semua fungsi memiliki argument. Ketika tidak ada argument maka tanda kurungnya kosong. Sebuah fungsi dapat mengembalikan nilai yang dipanggil code. Tidak semua fungsi-fungsi mengembalikan nilai. Nilai dikembalikan oleh fungsi dapat ditandai dengan sebuah variabel yang dipanggil code dengan menmpatkan disebelah kanan dari statement penugasan. Contohnya, jika MyFunc() 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 ke fungsi dalam ekspresi. misalnya x = MyFunc(2) + 10;
Dalam kasus ini, nilai dari MyFunc() di tambah 10, dan hasilnya disimpan pada variabel x, pada umumnya apapun nama fungsinya ketika ditemukan dalam sebuah statement, secara otomatis di panggil sehingga dapat menghasilkan nilai yang diperoleh. Untuk mengulas ulang, sebuah argumen adalah sebuah nilai yang di lewati ke dalam fungsi. Hasil dari nilai adalah data yang dilewati kembali ke code yang memanggil. Dalam program pendek ini yang mendemonstrasikan bagaimana memanggil sebuah fungsi. Ini menggunakan fungsi C++, untuk menampilkan nilai absolute dari sebuah angka. Fungsi abs() mengambil satu argument, kemudian mengkonversinya ke dalam nilai absoulute dan mengembalikan hasilnya.
//menggunakan fungsi abs() //contoh12 #include #include 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 dibutuhkan oleh fungsi abs(). Kapanpun anda membutuhkan built in fungsi, anda harus memasukkan headernya. Pada umumnya ada dua jenis fungsi yang sering digunakan dalan setiap program. Pertama yang kita buat sendiri, fungsi main() adalah contoh jenis fungsi yang kita buat sendiri. Nanti, kita akan belajar bagaimana membuat fungsi-fungsi lain. Seperti yang anda lihat program C++ berisi banyak fungsi yang ditulis oleh programmernya. Kedua adalah jenis fungsi yang diberikan oleh kompiler. Fungsi abs() yang digunakan pada program sebelumnya adalah sebuah contoh. Program yang anda tulis secara umum berisi kedua fungsi tersebut, yaitu fungsi yang anda buat dan yang diberikan oleh kompiler. Ketika fungsi menunjuk ke dalam text, buku ini menggunakan dan terus menggunakan konvensi yang telah menjadi kebiasaan penulisan programdi dalam C++. Sebuah fungsi diikuti tanda dalam kurung 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 lainnya dapat ditemukan di pustaka standar C++. Kita akan menggunakan fungsi-fungsi yang ada dalam pustaka C++ dalam beberapa contoh program pada buku ini. C++ mendefenisikan pengaturan besar dari fungsi yang berada pada pustaka standar fungsi. Fungsifungsi ini menyelenggarakan keperluan tugas-tugas yang biasa, termasuk operasi I/O, perhitungan matematika dan penanganan string. Ketika anda menggunakan sebuah fungsi dari pustaka, kompiler C++ secara otomatis menghubungkan object code untuk fungsi tersebut ke object code ke dalam program anda. Karena standar pustaka begitu besar, di dalamnya sudah tersedia banyak fungsi yang anda butuhkan di dalam pembuatan program. Pustaka fungsi melakukan seperti blok-blok bangunan yang dapat diterapkan dengan mudah. Anda harus mengeksplorasi fungsi-fungsi tersebut. Selain menyediakan pustaka fungsi, setiap kompiler C++ juga berisi sebuah pustaka class, yang berorientasi objek.
C++ Keywords Ada 63 keyword pada saat ini yang didefenisikan standar C++. Keyword tersebut ada pada tabel 1-1
Identifiers Dalam C++ sebuah pengenal (identifier) adalah sebuah nama dari fungsi, variabel atau lainnya yang didefenisikan oleh user. Identifier bisa berupa beberapa karakter. Nama variabel dapat dimulai dengan hurup atau alphabet atau sebuah garis bawah. Kemudian sebuah hurup, sebuah digit, atau sebuah 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 menggunakan keyword C++ sebagai nama indentifier Dibawah ini adalah contoh dari identifier yang benar.
Perlu diingat, anda tidak dapat memulai sebuah identifier dengan sebuah digit. Dengan demikian 98ok tidaklah valid. Pemrogramman yang bagus memberi nama identifier yang merefleksikan kegunaannya.