Kamis, 03 Oktober 2019

MATERI PEMROGRAMAN C++

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 sebuah bahasa pemrograman yang memeliki banyak dialek,bahsa ini memiliki beberapa kompiler yang berbeda. Ada empat kompiler umum yaitu:
  1. C++ Borlandiya
  2. C++ Microsoft visual
  3. C/386 Watcom,
  4. 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.
  1.  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.


jenis jenis tipe data adalah

  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:

  1. Harus diawali dengan tanda $ (dollar).
  2. Setelah tanda $ harus diikuti dengan huruf atau tanda _ (under score) tidak boleh angka atau tanda baca lainnya.
  3. Panjang variabel tidak dibatasi.
  4. Membedakan huruf besar dan huruf kecil (case-sensitive), sehingga $nama berbeda dengan $NAMA.
  5. Tidak boleh mengandung spasi dan tanda baca lainnya seperti samadengan(=), koma(,), titik(.), tandatanya (?), slash (), backslash (/), tambah (+), kurung (), kurung kuwaral {} dan sebagainya.
Contoh penulisan variabel yang benar:

  • $_nama
  • $nama_anak
  • $nama_1
  • $nama1
Contoh penulisan variabel yang salah:

  • $1nama
  • $?nama
  • $nama anak
  • $nama.anak
Contoh script cara menggunakan variabel pada PHP:

<?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: 

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.
Konstanta
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);
Contoh script cara menggunakan konstanta pada PHP:

<?php
define ("Nama", "Sabrina");
define ("Nilai", 100);
echo "Nama : " . Nama;
echo "<br/>";
echo "Nilai : " . Nilai;
?>
Jika dijalankan akan tampil seperti ini:

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 :

input-tanpa-cout

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:

input-dengan-cout

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:

output-cin

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

output-cin1b

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:

output-gets

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:

output-getch

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

output-gets2

  • 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:

output-getche

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:
Program Percabangan if pada C++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:
Flowchart percabangan if/elseIni 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…
Flowchart percabangan if/elseUntuk 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:
Contoh program percabangan if/else di C++

3. Percabangan if/else/if

Percabangan if/else/if merupakan percabangan yang memiliki lebih dari dua blok pilihan.
Coba perhatikan flowchart berikut:
Flowchart percabangan if/else/if 
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:
Contoh program percabangan if/else/if di C++

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:
Contoh program percabangan switch/case di C++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'.
Blok case yang kosongKedua 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

adalah suatu pekerjaan yang dilakukan secara berulang-ulang sampai kondisi tertentu terpenuhi, juga Digunakan untuk menghasilkan perulangan sejumlah N kali yang dispesifikasikan.
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.
Contoh Sederhana Flowchart Perulangan While :
  • 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 :

#include <iostream.h>
#include <conio.h>
void main()
{
   clrscr();
   int i;    //sebagai variabel pencacah
   i = 0;   //mula-mula diisi nilai 0
   while (i < 10) // sementara
   {
                cout<<“Mengulang 10 Kali”<<endl;
               i++;        //menaikkan pencacah sebesar 1
   }
   getch();
}
Hasilnya akan Menulang Kata Yang ada didalam Cout<<“Mengulang 10 Kali“<<endl; sebanyak 10 kali

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 Flowchart Perulangan Do While

Contoh sederhana Perulangan Do While

#include <iostream.h>
#include <conio.h> void main()
{   
clrscr();   
int i; //sebagai variabel pencacah   
i = 0; //mula-mula diisi nilai 0   
do   {    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>
void main() { int a,b; for (a = 1; a<=5; a++) { for (b = 1; b <= a; b++) { cout<<b; } cout<<endl; } getch(); }
Contoh Flowchart nested-for atau for bertingkat

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


#include <iostream>

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;
}









MATERI PEMROGRAMAN C++

PEMROGRAMAN C++    A. DASAR TEORI             C++  adalah salah satu bahasa pemrograman komputer. Yang dibuat pada tahun 1980-an ol...