PEMROGRAMAN C++
A. DASAR TEORI
C++ adalah salah satu bahasa pemrograman komputer. Yang dibuat pada tahun 1980-an oleh Bell Labs (Bjarne Stroustop) sebagai pengembang dari bahasa pemrograman C.Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek .
C++ adalah salah satu bahasa pemrograman komputer. Yang dibuat pada tahun 1980-an oleh Bell Labs (Bjarne Stroustop) sebagai pengembang dari bahasa pemrograman C.Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek .
C++ adalah sebuah bahasa pemrograman yang memeliki banyak dialek,bahsa ini memiliki beberapa kompiler yang berbeda. Ada empat kompiler umum yaitu:
- C++ Borlandiya
- C++ Microsoft visual
- C/386 Watcom,
- DJGPP
Bahasa programan C++ adalah bahasa yang amat berbeda. Untuk kompiler C++ berbasis DOS (Disk Operating System) ,akan memerlukan beberapa kata kunci(keyboard); keyboard ini cukup untuk difungsikan sebagai input dan output. Walaupun hampir dari semua fungsi dalam file library tampak nya biasa diakses oleh header filenya.
- SEJARAH DAN KONSEP C+
Bahasa C++ lahir pada tahun 1980 , yang dibuat oleh bjarne stroustrup di AT&&T Bell. Laboratories awal tahun 1980-an berdasarkan C ANSI (American National Standard Institute). Pertama kali, prototype C++ muncul sebagai C yang dipercanggih dengan fasilitas kelas , bahasa tersebut disebut "C dengan kelas ".
Pada tahun 1983-1984, C dengan jelas disempurnakan dengan menambah fasilitas overloading operator , yang mulanya disebut " a better C" kemudian berganti nama pada tahhun 1983 menjadi C++ simbol ++ merupakan operator penaikan pada C, digunakan untuk menunjukkan bahwa bahasa baru ini merupakan versi yang lebih canggih dari C.
Borland international merilis kompiler Borland C++ DAN Turbo C++ kedua kompiler ini sama sama dapat digunakan untuk mengkompilasi kode C++ bedanya, Borland C++ selain dapat digunakan dibawah lingkungan DOS, juga dapat digunakan untuk pemrograman windows. selain Borland international beberapa perusahaan lain juga merilis kompiler C++ seperti Topspeed dan Zortech C++.
Awal mula Bjarne Stroustrup membuat C++ adalah ketika Bjanre Stroustrup melakukan pekerjaan untuk gelar Ph.D. tersisa pada salah satu bahasa pemrograman dan Stroustrup memiliki kesempatan untuk bekerja dengan bahasa tersebut yang dsebut simula.
Pada tahun 1985, Stroustrup membuat buku referensi berjudul The C++ Programming Language diterbitkan. Pada tahun yang sama , C++ dilaksanakan sebagai produk komersial. Bahasa ini belum secara resmi distrandarkan sebagai produk komersial. Bahasa ini belum secara resmi distandarkan. Bahasa ini diperbarui lagi pada tahun 1989 dan menambahkan fasilitas Protector member,Static member , serta Inheritance.
Pada tahun 1990, buku The Annotated C++ Reference dirilis. Pada tahun yang sama Borland dan Turbo C++ kompiler dirilis sebagai produk komersial. Turbo c++ menambahkan banyak library tambahan yang akan memiliki dampak yang besar terhadap pengembangan C++ meskipun dirilis stabil terakhir Turbo C++ pada tahun 2006, tapi kompiler tersubut saat ini masih banyak digunakan.
Pada tahun 1998,panitia standar C++ menerbitkan Strandar International pertama untuk C++ ISO/IEC 14882:1998. pada tahun 2003, panitia mendapati beberapa masalaah yang dilaporkan dengan C++ Standar mereka pada tahun 1998, karena itu bahasa diperbarui yang merupakan revisi maslaah sebelumnya dan dijuliki C++ 03.
Pada tahun 2005, panitia standar C++ merilis laporan teknis yang dijuluki TR1,merinci berbagai fitur mereka berencana untuk menambah C++ standar terbaru.Standar baru itu secara informal dijuluki C++ 0x seperti yang diharapkan akan dirilis sebelum akhir dekade pertama. Namun,ironisnya,standar baru tidak dirilis sampai tahun 2011.
pada pertengahan 2011, C++ 11 selesai dan merupakan C++ Standar baru. The library project meningkat, membuat dampak yang lebih besar terhadap standar baru, dan beberapa modul baru berasal langsung dari boost perpustakaan. Beberapa fitur baru termasuk dukungan ekpresi regular merupakan sebuah perpustakaan pengacakan komprehensif,perpustakaan threading standar,fungsi baru untuk pengulangan, Foreach Loop, kata kunci Auto, Class New Container,dukungan yang lebih baik untuk daftar inisialisasi array, dan variadic Template.
2. Definisi variabel,library, operator ,manipulator dalam bahasa pemrograman
-Variabel
Variabel adalah suatu tempat yang digunakan untuk menampung data atau konstanta di memori yang mempunyai nilai yang dapat berubah-ubah selama proses program.
Tetapi sifat variabel hanya sementara atau tidak permanen,artinya data nilai yang tersimpan dalam vaiabel akan hilang ketika program dimatikan.
-Library
Library adalah kumpulan 'code' yang biasanya terkumpul dalam sebuah 'namespace/module/package' yang dapat di 'import/reuse ke program lain.Beberapa orang menyebut library,ada yang menyebutkan package.
-Operator
Operator adalah tanda yang digunakan untuk melakukan operasi-operasi tertentu didalam program. dengan operator kita dapat melakukan operasi perhitungan,perbandingan,manipulasi bit, dan lain lain.
C++ merupakan salah satu bahasa pemrograman yang banyak menyediakan operator.pada kesempatan kali ini kita akan membahas jenis- jenis operator yang dapat digunakan di dalam program untuk menangani berbagai kebutuhan yang kita hadapi.
-Manipulator
Manipulator adalah fungsi pembantu yang memungkinkan untuk mengotrol input/output stream. Manipulator pada umumnya digunakan untuk mengatur tampilan layar.Contohnya untuk mengatur supaya suatu nilai tampilkan dengan lebar 8 karakter dan diatur rata kiri terhadap lebar tersebut.
3.Tipe Data
Mendengar istilah tipe data mungkin menjadi pertanyaan besar bagi sebagian orang. Bahkan bagi mereka yang berkecimpung dalam dunia 'database' kemungkinan masih kurang familiar dengan istilah yang satu ini. Hal ini sangatlah wajar dikarenakan penggunaan dari tipe data sendiri lebih banyak pada bidang pemrograman komputer.
Sebelum membahas tipe data wajib diketahui bahwa suatu data yang dikumpulkan pasti memiliki struktur yang berberda-beda, contohnya seperti penggunaan huruf dan angka. Dan didalam artikel kali ini kami akan mengulas lebih dalam mengenai pengertian,fungsi dan jenis-jenis tipe data.
3.1 Pengertian Tipe Data
Tipe data adalah himpunan yang dapat anda temui pada semua data.dengan memahami tipe data , anda juga dapat menentukan suatu nilai dapat dimiliki dari data tersebut ataukah tidak.Salah satu bentuk penerapan tipe data dalam kehidupan sehari-hari adalah bilangan bulat.
Lebih kongkritnya lagi suatu tipe data dapat ditemui dalam dunia pemrograman komputer. Di dalam tahap awal pembuatan program, anda harus menentukan terlebih dahulu tipe data yang digunakan. Contoh tipe data yang sering digunakan para programmer adalah integer,real,double.char,string dan masih banyak lagi lainnya.
3.2 Fungsi Tipe Data
Suatu tipe data jika dipahami dengan baik tentunya akan dapat difungsikan dengan baik pula. Baik bagi para programmer maupun masyarakat luas pastinya akan terbantu dengan adanya pemahaman yang baik terhadapat tipe data. Dengan memilih tipe data para programmer juga dapat menentukan memori yang akan digunakan.
Bagi masyarakat luas memahami tipe data juga memberikan fungsi tersendiri.Salah satu contohnya adalah mengenai bilangan bulat dan bilangan tak bulat(desimal , pecahan dan lain-lain).
3.3 Jenis - jenis Tipe Data
Pada umumnya, jenis-jenis tipe data dikelompokkan menjadi 2 bagian. Yanag pertama adalah data primitive dan yang kedua adalah tipe data non primitive. Tipe data primitve merupakan tipe data yang secara default telah terdefinisi pada suatu bahasa pemrograman atau bisa juga disebut sebagai tipe data dasar yang paling sering digunakan oleh kebanyakan programmer,contohnya tipe data interger,float,char,booelean.dan lain sebagainya.
1. Integer
Jenis tipe data yang satu ini dapat didefinisikan sebagai bilangan bulat. Artinya suatu program yang menggunakan tipe data integer ini tidak mendukung penggunaan huruf.selain itu bilangan yang digunakan juga haruslah bulat (tidak mengandung pecahan desimal).Contoh tipe data integer adalah 8,-12,205 dan lain-lain.
2. Float
Tipe data float seringkali juga disebut tipe data bilangan real. jika pada integer tidak mengenal karakter pecahan atau desimal, maka pada tipe data float bisa dituliskan karakter desimal(berkoma).Dalam tipe data float juga terdapat tipe data Double yang juga mendukng bilangan berkoma. Contoh tipe data float adalah 3,14 atau 1,2.
3.Char
Char adalah tipe data yang ini biasanya terdiri dari suatu angka,huruf,tanda baca atau bahkan karakter khusus. Dibutuhkan 1 byte atau 8 bit ruang di dalam memori agar dapat menyimpan sebuah karakter. Dalam bahasa pemrograman tipe data char tidak memiliki batasan dan biasanya menggunakan tanda baca kutip ganda(") di bagian depan serta belakang. Seringkali juga penulisan karakter kosong digantikan dengan tulisa "nul".
4.String
String terdiri dari kumpulan karakter dengan panjang tertentu, dan seringkali dianggap sebagai tipe data dasar. Hal ini dikarekan hingga saat ini tipe data String paling sering digunakan oleh para programmer. Hampir sama dengan char , penulisan karakter String dalam bahasa pemrograman juga diawali dan diakhiri kutip ganda serta mengenal penulisan"null" untuk karakter kosong.
5.Array
Array termasuk tipe data yang composite karena dapat menyimpan. Data yang tersimpan dalam tipe data array juga termasuk bertipe sama atau homogen. Dalam bahas pemrograman penggunaan tipe data array tidak langsung di deklarasikan seperti tipe data lain, namn seringkali memegang peranan penting terhadapa penggunaan data agar lebih terstruktur.

4. Format Penulisan Variabel & Konstanta
Variabel pada PHP
Merupakan sebuah alat untuk menyimpan data dan nilainya dapat berubah-ubah selama proses program berjalan. Tipe data sebuah variabel tidak perlu dideklarasikan, PHP akan melakukan identifikasi secara otomatis.
Berikut ini beberapa aturan penulisan variabel pada PHP:
- Harus diawali dengan tanda $ (dollar).
- Setelah tanda $ harus diikuti dengan huruf atau tanda _ (under score) tidak boleh angka atau tanda baca lainnya.
- Panjang variabel tidak dibatasi.
- Membedakan huruf besar dan huruf kecil (case-sensitive), sehingga $nama berbeda dengan $NAMA.
- Tidak boleh mengandung spasi dan tanda baca lainnya seperti samadengan(=), koma(,), titik(.), tandatanya (?), slash (), backslash (/), tambah (+), kurung (), kurung kuwaral {} dan sebagainya.
- $_nama
- $nama_anak
- $nama_1
- $nama1
- $1nama
- $?nama
- $nama anak
- $nama.anak
<?php
$nama="Sabrina";
$id=1;
$aktif=TRUE;
$gaji="50.000.000";
$tanggal_lahir="12-12-2008";
$umur="6 tahun";
if($aktif)
{
echo "Nama= ".$nama."<br/>";
echo "ID= ".$id."<br/>";
$tanggal_lahir="02-06-2008";
echo "Tanggal Lahir= ".$nama."<br/>";
echo "Umur= ".$umur."<br/>";
echo "Gaji= ".$gaji."<br/>";
}
?>
Jika dijalankan akan tampil seperti ini: $nama="Sabrina";
$id=1;
$aktif=TRUE;
$gaji="50.000.000";
$tanggal_lahir="12-12-2008";
$umur="6 tahun";
if($aktif)
{
echo "Nama= ".$nama."<br/>";
echo "ID= ".$id."<br/>";
$tanggal_lahir="02-06-2008";
echo "Tanggal Lahir= ".$nama."<br/>";
echo "Umur= ".$umur."<br/>";
echo "Gaji= ".$gaji."<br/>";
}
?>
Penjelasan script:
Baris ke-2 sampai baris ke-7 menunjukkan pemberian nilai sebuah variabel yang tidak dideklarasikan sebelumnya. Variabel $nama secara otomatis bertipe string, $id bertipe integer dan $aktif bertipe boolean.
Baris ke-8 merupakan logika penyeleksian IF yang mengecek nilai variabel $aktif bernilai benar atau salah. Jika benar akan dijalankan sekumpulan perintah untuk menampilkan variabel pada baris ke-11 sampai 15.
Yang perlu diperhatikan adalah:
- Variabel $id awalnya berupa integer dan bernilai 1, namun kemudian pada aplikasinya menjadi string dan ditampilkan sebagai teks.
- Untuk menggabungkan variabel dengan teks digunakan tanda dot/titik (.).
- Urutan pemberian nilai variabel tidak harus urut dengan saat menampilkan variabel, namun harus lebih dulu dari proses menampilkan variabel(berada pada batis yang lebih atas).
- Pada tampilan tertampil tanggal lahir = 02-06-2008 bukan 12-12-2008 karena tepat sebelum ditampilkan nilainya diubah menjadi 02-06-2008.
Merupakan tipe data yang memiliki nilai konstan dan tidak diubah selama program berjalan. Aturan penulisan konstanta berbeda dengan penulisan variabel. Untuk mendefinisikan konstanta dalam PHP digunakan fungsi definesebagai berikut:
define(nama_konstanta,nilai_konstanta);
<?php
define ("Nama", "Sabrina");
define ("Nilai", 100);
echo "Nama : " . Nama;
echo "<br/>";
echo "Nilai : " . Nilai;
?>
Jika dijalankan akan tampil seperti ini:define ("Nama", "Sabrina");
define ("Nilai", 100);
echo "Nama : " . Nama;
echo "<br/>";
echo "Nilai : " . Nilai;
?>
Penjelasan script:
Baris ke-2 adalah contoh penulisan konstanta Nama dan baris ke-3 konstanta Nilai. Kemudian dua konstanta tersebut dituliskan dengan perintah echo. Pada contoh diatas dilihat bahwa penulisan konstanta berbeda dengan penulisan variabel, yaitu tidak menggunakan tanda $ (dollar).
5. Input dan Output ( cin, , cout , komentar)
Perintah untuk
input (memasukkan data ke dalam variabel) atau output (menampilkan
kalimat atau hasil ke layar atau keluaran lainnya), termasuk ke dalam
perintah dasar, di setiap bahasa pemrograman. Untuk C++, yang sering
digunakan adalah 4 (empat) perintah, yaitu cout (untuk output/keluaran),
cin, gets, getch dan getche (untuk input/masukan).
Cara penggunaannya adalah sebagai berikut:
– cout : digunakan dengan perintah ‘cout<<“kata atau data yang ingin ditampilkan”;‘
– cin : digunakan dengan perintah ‘cin>>nama_variabel;‘
– gets : digunakan dengan perintah ‘gets(nama_variabel);‘
– getch : digunakan dengan perintah ‘nama_variabel=getch();‘ atau ‘getch() ‘saja, dan
– getche : digunakan dengan perintah ‘nama_variabel=getche();‘
Untuk lebih dimengerti, mungkin bisa dijelaskan bahwa:
– cout mempunyai arti character-out
– cin memiliki arti character-input
– gets artinya adalah get-string
– getch adalah get-character
– getche adalah get-character-echo
Dari keterangan di atas, sebetulnya bisa cukup menggambarkan fungsi dan perbedaan dari masing-masing perintah tersebut, yaitu:
- cout, digunakan untuk menampilkan kalimat atau data ke layar. Penggunaannya dalam coding adalah seperti di bawah ini:
cout<<"Ini adalah kalimat yang ditampilkan";
Jika dikombinasikan dengan variabel, maka penulisannya adalah seperti di bawah ini:
int seminggu;
seminggu=7;
cout<<"Jumlah hari dalam seminggu adalah "<<seminggu<<" hari;
- cin, digunakan untuk mendapatkan masukan / input dari user, yang hasilnya akan dimasukkan ke dalam variabel yang sudah ditentukan sebelumnya. Penggunaannya adalah seperti di bawah ini:
int angka1, angka2, hasil;
cout<<"Masukkan angka pertama : "; cin>>angka1;
cout<<"Masukkan angka kedua : "; cin>>angka2;
hasil=angka1*angka2;
cout<<"Hasil perkalian dari "<<angka1<<" dan "<<angka2<<" adalah "<<hasil<<endl;
Dalam contoh di atas, perintah cin,
dikombinasikan dengan perintah cout. Namun bisa juga digunakan sendiri,
tanpa kombinasi perintah cout. Misalnya seperti di bawah ini:
int angka;
cin>>angka;
Namun, tentu saja user akan bingung saat
dihadapkan dengan hasil dari kode di atas, karena hanya menampilkan
tampilan seperti di bawah ini :

Bandingkan, jika dikombinasikan dengan perintah cout, seperti di bawah ini :
int angka;
cout<<"Masukkan angka "; cin>>angka;
Dan tampilan yang akan didapatkan user adalah seperti berikut ini:

Memang,
adakalanya perintah cin, tidak harus dikombinasikan dengan cout. Namun,
seringnya perintah cin dikombinasikan dengan perintah cout, untuk
memperjelas bagi user.
- gets, digunakan untuk mendapatkan input dari user. Lantas, apa bedanya dengan cin? Bedanya adalah bahwa perintah cin tidak dapat menerima masukam berupa spasi. Jadi, misalnya, saat kita ingin memasukkan nama, di mana nama tersebut mengandung spasi, maka hasil inputan yang terbaca dan dimasukkan ke dalam variabel, hanyalah inputan sebelum spasi. Perhatikan contoh berikut ini:
#include <conio.h>
#include <iostream.h>
main()
{
char nama[25];
cout<<“Masukkan nama : “;cin>>nama;
cout<<“Nama yang dimasukkan adalah “<<nama<<endl;
getch();
}
Di situ kita mendeklarasikan variabel nama
dengan panjang 25 karakter. Jika inputan yang diberikan adalah inputan
tanpa spasi, maka outputnya adalah seperti di bawah ini:

namun saat inputan yang dimasukkan mengandung spasi, maka hasilnya akan menjadi seperti di bawah ini:

Terlihat, bahwa meskipun nama yang diinput adalah “Eny Riyani“, namun yang terbaca hanyalah “Eny“. Nah, dalam kasus seperti itu, maka kita dapat menggunakan perintah gets, sebagai pengganti perintah cin. Perhatikan contoh berikut. Kita akan memodifikasi sedikit kode berikut ini:
#include <conio.h>
#include <iostream.h>
main()
{
char nama[25];
cout<<"Masukkan nama : ";cin>>nama;
cout<<"Nama yang dimasukkan adalah "<<nama<<endl;
getch();
}
Menjadi seperti ini :
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
main()
{
char nama[25];
cout<<"Masukkan nama : ";gets(nama);
cout<<"Nama yang dimasukkan adalah "<<nama<<endl;
getch();
}
Tampilan yang dihasilkan adalah sebagai berikut:

Terlihat di
atas bahwa variabel yang berhasil didapatkan adalah nama yang lengkap,
bersama dengan spasinya. Namun yang juga harus diperhatikan adalah bahwa
untuk menggunakan perintah gets ini, kita harus menambahkan satu file
header, yaitu stdio.h (perhatikan baris ketiga dari kode untuk perintah gets di atas. Di situ saya menambahkan satu baris, yaitu “#include <stdio.h>“).
- getch, digunakan untuk mendapatkan 1 (satu) karakter dari user. Ingat! Hanya 1 (satu) karakter. Dan, karena karakteristiknya tersebut, seringkali perintah getch() hanya digunakan untuk melakukan “penundaan” sebelum perintah berikutnya dieksekusi. Biasanya juga digunakan untuk membuat agar tampilan output tidak langsung tertutup. Contohnya seperti berikut ini:
#include <conio.h>
#include <iostream.h>
main()
{
char tombol;
cout<<“Tekan sembarang tombol…”<<endl;
tombol=getch();
cout<<“Tombol yang ditekan adalah “<<tombol<<endl;
getch();
}
Outputnya adalah seperti berikut ini:

Dan jika saya menekan tombol “A“, maka tampilan berikutnya akan menjadi seperti ini:

- getche, mirip dengan perintah perintah getch. Bedanya adalah jika perintah getch() tidak menampilkan karakter yang diinput (perhatikan pada gambar contoh output getch() di atas), maka perintah getche() akan menampilkan karakter yang ditekan atau di-input, sesuai dengan namanya, yaitu getche() atau “Get-Character-Echo“. Perhatikan kode berikut ini:
#include <conio.h>
#include <iostream.h>
main()
{
char tombol;
cout<<"Tekan sembarang tombol : ";
tombol=getche();
cout<<endl;
cout<<"Tombol yang ditekan adalah "<<tombol<<endl;
getch();
}
Dan tampilan yang dihasilkan, jika saya menekan tombol “R” adalah:

Terlihat di atas bahwa tombol “R” yang ditekan muncul, tidak seperti jika menggunakan perintah getch().
Demikianlah
cara penggunaan dan perbedaan-perbedaan yang ada antara ke lima perintah
tersebut di atas, yaitu cout, cin, gets, getch dan getch. Semoga
menjadi pembelajaran yang berguna.
6. Jenis Manipulator
Manipulator adalah fungsi pembantu yang memungkinkan untuk
mengontrol input / output stream. Manipulator pada umumnya digunakan
untuk mengatur tampilan layar. Contohnya untuk mengatur supaya suatu
nilai ditampilkan dengan lebar 8 karakter dan diatur rata kiri terhadap
lebar tersebut.
Dalam C++, terdapat beberapa manipulator yang merupakan fitur baru, yang
baru ditambahkan. hal ini karena compiler C++ klasik (belum
distandarisasi) tidak mendukung adanya manipulator. Adapun manipulator
yang dimaksud disini adalah seperti yang terlihat pada tabel dibawah
ini:
Manipulator
|
Kegunaan
|
Operasi
|
boolalpha
|
Mengaktifkan flag
|
Input / Output
|
dec
|
Mengaktifkan flag dec
|
Input / Output
|
endl
|
Menampilkan baris baru dan membuat stream
|
Output
|
ends
|
Menampilkan null
|
Output
|
fixed
|
Mengaktifkan flag fixed
|
Output
|
flush
|
Membuang stream
|
Output
|
hex
|
Mengaktifkan flag hex
|
Input / Output
|
internal
|
Mengaktifkan flag internal
|
Output
|
left
|
Mengaktifkan flag left
|
Output
|
noboolalpha
|
Mematikan flag boolalpha
|
Input / Output
|
noshowbase
|
Mematikan flag showbase
|
Output
|
noshowpoint
|
Mematikan flag showpoint
|
Output
|
noshowpos
|
Mematikan flag showpos
|
Output
|
noskipws
|
Mematikan flag skipws
|
Input
|
nounitbuf
|
Mematikan flag unitbuf
|
Output
|
nouppercase
|
Mematikan flag uppercase
|
Output
|
oct
|
Mematikan flag oct
|
Input / Output
|
resetiosflags (fmtflags f)
|
Mematikan flag yang dituliskan (f)
|
Input / Output
|
right
|
Mengaktifkan flag right
|
Output
|
scientific
|
Mengaktifkan flag scientific
|
Output
|
setbase (int base)
|
Mengaktifkan basis base
|
Input / Output
|
setfill (int ch)
|
Mengisi karakter dengan ch
|
Output
|
setiodflags (fmtflags f)
|
Mengaktifkan flag yang dituliskan (f)
|
Input / Output
|
setprecision (int p)
|
Menentukan presisi digit
|
Output
|
setw (int w)
|
Menentukan lebar kolom
|
Output
|
showbase
|
Mengaktifkan flag show base
|
Output
|
showpoint
|
Mengaktifkan flag show point
|
Output
|
showpos
|
Mengaktifkan flag showpos
|
Output
|
skipws
|
Mengaktifkan flag skipws
|
Input
|
unitbuf
|
Mengaktifkan flag unitbuf
|
Output
|
uppercase
|
Mengaktifkan flag uppercase
|
Output
|
ws
|
Mengabaikan karakter white-space
|
Input
|
Untuk menggunakan manipulator yang tercantum diatas sobat harus
menyertakan file header <iomanip> dan <ionsteam>. Pada
kesempatan kali ini kita hanya akan membahas 10 fungsi manipulator yang
disediakan oleh Dev-C++, antara lain: endl, ends, setw( ), dec( ), oct(
), hex( ), setbase( ), setfill( ), setprecision( ) dan setiosflags( ).
7. Percabangan (if, else , case/switch)
1. Percabangan if
Percabangan if merupakan percabangan yang
hanya memiliki satu blok pilihan saat kondisi
bernilai benar.
Coba perhatikan flowchart berikut ini:
Flowchart tersebut dapat kita baca seperti ini:
“Jika total belanja lebih besar dari Rp 100.000,
Maka tampilkan pesan Selamat, Anda dapat hadiah“
Kalau dibawah Rp 100.000 bagaimana?
Ya pesannya tidak akan ditampilkan.
Mari kita coba dalam program C++.
Buatlah file bernama
if.cpp,
kemudian isi dengan kode berikut.#include <iostream>
using namespace std;
int main(){
cout << "=== Program Pembayaran ===" << endl;
unsigned int total_belanja;
cout << "Masukan total belanja: ";
cin >> total_belanja;
// menggunakan percabangan if
if(total_belanja > 100000){
cout << "Selamat! anda dapat hadiah" << endl;
}
cout << "Terimakasih sudah berbelanja di toko kami" << endl;
return 0;
}
Kompilasi kode tersebut dengan perintah:
g++ if.cpp -o if
Lalu eksekusi dengan perintah:
./if
Hasilnya:
Perhatikan pada bagian ini:// menggunakan percabangan if
if(total_belanja > 100000){
cout << "Selamat! anda dapat hadiah" << endl;
}
Inilah yang disebut blok program.
Blok program berisi sekumpulan ekpresi dan statement
untuk dikerjakan oleh komputer.
Blok program pada C++, selalu diawali dengan tanda buka kurung kurawal
{
dan akan diakhiri dengan tutup kurung kurawal }.
Apabila di dalam blok hanya terdapat satu baris ekspresi atau statement,
maka boleh tidak ditulis tanda kurungnya.
if (total_belanja > 100000)
cout << "Selamat! anda dapat hadiah" << endl;
2. Percabangan if/else
Percabangan if/else merupakan percabangan yang memiliki
dua blok pilihan.
Blok pilihan pertama untuk kondisi benar,
dan pilihan kedua untuk kondisi salah (else).
Coba perhatikan flowchart ini:
Ini adalah flowchart untuk mengecek password.
Apabila password benar, pesan yang ada pada blok hijau akan ditampilkan:
“Selamat datang bos!”
Tapi kalau salah, maka pesan yang ada di blok merah yang akan ditampilkan:
“Password salah, coba lagi!”
Kemudian, pesan yang berada di blok abu-abu akan tetap ditampilkan,
karena dia bukan bagian dari blok percabangan if/else.
Perhatikan arah panahnya, setiap blok if/else mengarah ke sana…
Untuk lebih jelasnya, mari kita coba dalam program.
Buatlah file beru bernama
if_else.cpp,
kemudian isi dengan kode berikut:#include <iostream>
using namespace std;
int main(){
string password;
cout << "========= Login =========" << endl;
cout << "Masukan password: ";
cin >> password;
// percabangan if/else
if (password == "kopi"){
cout << "Selamat datang bos!" << endl;
} else {
cout << "Password salah, coba lagi!" << endl;
}
cout << "Terimakasih sudah menggunakan aplikasi ini!" << endl;
return 0;
}
Hasilnya:

3. Percabangan if/else/if
Percabangan if/else/if merupakan percabangan yang memiliki
lebih dari dua blok pilihan.
Coba perhatikan flowchart berikut:
Perhatikan blok yang saya beri warna…
Ini adalah blok untuk percabangan if/else/if.
Kita bisa menambahkan berapapun blok yang kita inginkan.
Contoh Program:
#include <iostream>
using namespace std;
int main(){
int nilai;
string grade;
cout << "=== Program Grade Nilai ===" << endl;
cout << "Inputkan nilai akhir: ";
cin >> nilai;
// menggunakan percabangan if/esle/if
if (nilai >= 90) {
grade = "A";
} else if (nilai >= 80) {
grade = "B+";
} else if (nilai >= 70) {
grade = "B";
} else if (nilai >= 60) {
grade = "C+";
} else if (nilai >= 50) {
grade = "C";
} else if (nilai >= 40) {
grade = "D";
} else if (nilai >= 30) {
grade = "E";
} else {
grade = "F";
}
cout << "Grade anda: " << grade << endl;
return 0;
}
Hasilnya:

4. Percabangan Switch/Case
Percabangan switch/case adalah bentuk
lain dari percabangan if/else/if.
Strukturnya seperti ini:
switch(variabel){
case <value>:
// blok kode
break;
case <value>:
// blok kode
break;
default:
// blok kode
}
Kita dapat mermbuat blok kode (
case) sebanyak yang diinginkan di dalam
blok switch.
Pada
<value>, kita bisa isi dengan nilai yang
nanti akan dibandingkan dengan varabel.
Setiap
case harus diakhiri dengan break.
Khusus untuk default, tidak perlu diakhiri dengan
break karena dia terletak di bagian akhir.
Pemberian
break bertujuan agar program berhenti
mengecek case berikutnya saat sebuah case
terpenuhi.
Contoh:
#include <iostream>
using namespace std;
int main(){
char grade;
cout << "Inputkan grade: ";
cin >> grade;
switch (toupper(grade)){
case 'A':
cout << "Luar biasa!" << endl;
break;
case 'B':
case 'C':
cout << "Bagus!" << endl;
break;
case 'D':
cout << "Anda lulus" << endl;
break;
case 'E':
case 'F':
cout << "Anda remidi" << endl;
break;
default:
cout << "Grade Salah!" << endl;
}
return 0;
}
Hasilnya:
Perhatikan program di atas…
Kita menggunakan fungsi
toupper() untuk mengubah
huruf kecil menjadi huruf kapital atau huruf besar.switch (toupper(grade)){
...
}
Mengapa menggunakan
toupper()?
Ini karena agar kita dapat menginputkan huruf kecil dan
huruf besar untuk mengecek grade.
Berikutnya coba perhatikan
case 'B' dan
case 'E'.
Kedua case ini tidak memiliki isi.
Ini artinya…dia akan mengikut pada
case berikutnya.
Sebagai contoh, apabila kita inputkan
B
maka case C yang akan terpilih.
Begitu juga saat kita inputkan
E,
maka case F yang akan terpilih.8.Perulangan (loop)
Belajar Pemrograman
Universitas Muria Kudus
Algoritma Pemrograman
Sistem Informasi
Pendaftaran Kuliah UMK
Jurusan Universitas Muria Kudus
Universitas Muria Kudus Non Reguler
SI Akreditasi A
UMK
Progdi Sistem Informasi
Fakultas Teknik
Jadwal Kuliah
Materi Kuliah
Program C++
Pendaftaran Mahasiswa Baru
Sistem Informasi
Macam perulangan :
- WHILE // sementara
- DO-WHILE
- FOR
Pernyataan while
- Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses suatu pernyataan atau
- beberapa pernyataan beberapa kali. Bentuk pernyataan adalah sebagai berikut:
while (ungkapan)
pernyataan;
- Bagian pernyataan yang mengikuti while akan dieksekusi selama ungkapan pada while bernilai benar (tidak sama dengan nol).
- Perlu diketahui, pengujian terhadap ungkapan pada while dilakukan sebelum bagian pernyataan.
- Oleh karena itu ada kemungkinan bagian pernyataan pada while tidak dijalankan sama sekali, yaitu kalau kondisi yang pertama kali bernilai salah.
- Kontrol perulangan bisa diletakan sebelum atau sesudah pernyataan
- Selama Kondisi bernilai benar, maka perulangan akan terus dilaksanakan
Dan Pernyataan hanya dikerjakan ketika kondisi bernilai benar
Contoh sederhana Perulangan While :
Hasilnya akan Menulang Kata Yang ada didalam Cout<<“Mengulang 10 Kali“<<endl; sebanyak 10 kali#include <iostream.h>#include <conio.h>void main(){clrscr();int i; //sebagai variabel pencacahi = 0; //mula-mula diisi nilai 0while (i < 10) // sementara{cout<<“Mengulang 10 Kali”<<endl;i++; //menaikkan pencacah sebesar 1}getch();}
Pernyataan Do While :
- Bagian pernyataan1 hingga pernyataanN dijalankan secara berulang sampai ungkapan bernilai salah (sama dengan nol).
- Namun berbeda dengan while, pengujian dilakukan di belakang (setelah) bagian pernyataan.
- Oleh karena itu, bagian pernyataan pada do-while minimal akan dijalankan sekali
Contoh sederhana Perulangan Do While
#include <iostream.h>
#include <conio.h> void main()
{
clrscr();int i; //sebagai variabel pencacahi = 0; //mula-mula diisi nilai 0do { cout<<“C++”<<endl;i++; //menaikkan pencacah sebesar 1}while (i < 10); getch();}getch ();}
Baca Dan Pelajari : Pengertian Array Dan Contoh Program
Pernyatan For :
Pernyataan for juga berguna untuk mengulang pengeksekusian terhadap satu atau sejumlah pernyatan.Bentuknya adalah sebagai berikut :
for (ungkapan1; ungkapan2; ungkapan3;)
pernyataan;
FlowChart Prulangan for

Pernyatan for

Contoh Sederhana perulangan For :
#include <iostream.h> #include <conio.h>
void main()
{ clrscr(); int i,n; cout<<“Masukkan batas : “; cin>>n; for(i=1; i<=n; i++) { cout<<i<<” “; } getch();}
Nested For (For Bertingkat)
Contoh sederhana Pernyataan Nested For :
#include <iostream> #include <conio.h>Contoh Flowchart nested-for atau for bertingkat
void main() { int a,b; for (a = 1; a<=5; a++) { for (b = 1; b <= a; b++) { cout<<b; } cout<<endl; } getch(); }

Baca Juga : Tipe Data Dalam C++
Pernyatan break
Pernyataan break telah diperkenalkan pada pernyataan switch. Kegunaannya yaitu untuk keluar dari switch.
Selain itu, pernyataan break juga dapat digunakan pada pernyataan for, while, do-while.
Kegunaanya yaitu untuk memaksa keluar dari pernyataan-pernyataan tersebut.
Contoh sederhana Break :
#include <stdio.h>
main() { int bil = 1; while (bil<=10) { if (bil>5) break; printf(“%i”,bil); bil++; } }
—————–
Pada program di depan, tanpa kehadiran : if (bil>5) break;
Maka program akan menampilkan angka 1 hingga 10
Pernyataan continue :
Kegunaan pernyataan continue merupakan kebalikan dari break.
Pernyataan continue dipakai untuk mengarahkan eksekusi ke putaran / iterasi selanjutnya pada pernyataan pengulangan.
Contoh sederhana pernyataan Continue :
#include <stdio.h>
main() { int bil; for (bil = 1; bil <= 10; bil++) { printf(“%i”,bil); printf(” “); continue; printf(“Tulisan ini tidak muncul“); } }
B. CONTOH PROGRAM
1. Contoh Program Untuk Variabel dkk
#include <iostream>
using namespace std;
int main()
{
string nama ;
int umur ;
char jenis_kelamin;
cout<<"siapa nama namamu? :"<<endl;
cin>>nama;
cout<<"berapa umurmu? :"<<endl;
cin>>umur;
cout<<"apa jenis kelaminmu [L/P] :"<<endl;
cin>>jenis_kelamin;
cout<<"assalamualakum "<< nama <<" ,sekarang brp usiamu : ";
cout<< umur <<" tahun dan dirimu berjenis kelamin : "<<jenis_kelamin;
return 0;
}
2. Contoh Program Untuk Percabangan
using namespace std;
int main()
{
string password;
cout<<"login"<<endl;
cout<<"masukkan password: ";
cin>> password;
if (password == "zakiganteng")
{
cout<<"Selamat datang bosku!"<<endl;
}
else
{
cout<<"password salah, coba lagi bosku!"<<endl;
}
cout<<"Terima kasih sudah menggunakan aplikasi ini"<<endl;
return 0;
}
3.Contoh Programan Untuk Perulangan
#include <iostream>
using namespace std;
int main()
{
int umur;
cout<<"Masukan umur anda :"<<endl;
cin>>umur;
if(umur<18)
{
cout<<"Anda belum mempunyai SIM!"<<endl;
}
else
{
cout<<"anda sudah mempunyai SIM!"<<endl;
}
return 0;
}
4.Contoh Program Berdasarkan Kasus
#include <conio.h>
#include <iostream>
using namespace std;
int main()
{
long harga, biaya, diskon, grandtotal, bayar, kembalian;
int jumlah;
char paket;
cout<<"----------------------------"<<endl;
cout<<"LESEHAN BG ZACK "<<endl;
cout<<"----------------------------"<<endl;
cout<<" MENU PAKET :"<<endl;
cout<<"A. Ayam Lindes + jus "<<endl;
cout<<"B. Nasi Goreng + jus "<<endl;
cout<<"C. Mie Spesial + jus "<<endl;
cout<<"Tipe Kamar [ A/B/C ]= "; cin>>paket;
cout<<" Jumlah = "; cin>>jumlah;
switch(paket)
{
case 'A':
case 'a' :
harga=50000;
break;
case 'B':
case 'b' :
harga=40000;
break;
case 'C':
case 'c' :
harga=30000;
break;
}
biaya=harga*jumlah;
diskon=0.3*biaya;
grandtotal=biaya-diskon;
cout<<"----------------------------------"<<endl;
cout<<" LESEHAN BG ZACK "<<endl;
cout<<"----------------------------------"<<endl;
cout<<"RINCIAN PEMBAYARAN: "<<endl;
cout<<" Menu Paket = "<<paket<<endl;
cout<<" Jumlah = "<<jumlah<<endl;
cout<<"--------------------------------- x"<<endl;
cout<<" Biaya = "<<biaya<<endl;
cout<<" Diskon 10% = "<<diskon<<endl;
cout<<"------------------------------------"<<endl;
cout<<"Grand Total = "<<grandtotal<<endl;
cout<<"Bayar = "; cin>>bayar; kembalian=bayar-grandtotal;
cout<<" --------------"<<endl;
cout<<"Uang Kembalian = "<<kembalian<<endl;
cout<<"TERIMA KASIH ATAS KUNJUNGANNYA DI LESEHAN BG ZACK";
return 0;
}






