Contoh Perulangan C++ Dengan For,While, dan Do-While

1. Perulangan C++ menngunakan For

Langsung saja ya temen-temen…..Mari kita mencoba menampilkan deret angka dari 1 sampai 10 dan menampilkan deret bilangan genap dan ganjil dari angka 1 sampai 10 , dengan menggunakan koding di bawah ini:

—————————————————————————————————————

#include<iostream.h>
#include<conio.h>

void main()
{
int bil1;
cout<<”              Latihan Perulangan C++ dengan For               “<<endl;
cout<<“==============================================================”<<endl;
cout<<“1.Menampilkan deret angka 1 sampai 10                      :  “;
for(bil1=0;bil1<=10;bil1++)
{
cout<<bil1;
}
cout<<endl;
cout<<“2.Menampilkan deret bilangan genap dari angka 1 sampai 10  :  “;
for(bil1=0;bil1<=10;bil1++)
{
bil1%2==0;
cout<<bil1;
bil1++;
}
cout<<endl;
cout<<“3.Menampilkan deret bilangan ganjil dari angka 1 sampai 10 :  “;
for(bil1=0;bil1<10;bil1++)
{
bil1%2!=0;
cout<<bil1+1;
bil1++;
}

getch();
}
—————————————————————————————————————

Dari hasil koding di atas….nih hasil debug nya:

  1. Perulangan C++ menngunakanWhile
    Sama dengan latihan pada Perulangan C++ menggunakan For, kita akan mencoba menampilkan deret angka 1 sampai 10 dan menampilkan deret bilangan ganjil dan genap dari angka 1 sampai 10, di bawah ini kodingnya:

    —————————————————————————————————————

    #include<iostream.h>
    #include<conio.h>

    void main()
    {
    int bil1=0;
    cout<<”              Latihan Perulangan C++ dengan While             “<<endl;
    cout<<“==============================================================”<<endl;
    cout<<“1.Menampilkan deret angka 1 sampai 10                      :  “;
    while(bil1<=10)
    {
    cout<<bil1;
    bil1++;
    }
    cout<<endl;
    int bil2=0;
    cout<<“2.Menampilkan deret bilangan genap dari angka 1 sampai 10  :  “;
    while(bil2<10)
    {
    bil2=bil2+2;
    cout<<bil2;
    }
    int bil3=0;
    cout<<endl;
    cout<<“3.Menampilkan deret bilangan ganjil dari angka 1 sampai 10 :  “;
    while(bil3<10)
    {
    bil3=bil3+1;
    cout<<bil3;
    bil3++;
    }
    getch();
    }

    —————————————————————————————————————
    Dari hasil koding di atas….nih hasil debug nya:

  2. Perulangan C++ menngunakan Do-While
    Sama dengan latihan pada Perulangan C++ menggunakan For dan While, kita akan mencoba menampilkan deret angka 1 sampai 10 dan menampilkan deret bilangan ganjil dan genap dari angka 1 sampai 10, di bawah ini kodingnya :

    —————————————————————————————————————

    #include<iostream.h>
    #include<conio.h>

    void main()
    {
    int bil1=0,bil2=0,bil3=0;
    cout<<”              Latihan Perulangan C++ dengan Do-While          “<<endl;
    cout<<“==============================================================”<<endl;
    cout<<“1.Menampilkan deret angka 1 sampai 10                      :  “;
    do
    {
    cout<<bil1;
    bil1++;
    }while(bil1<=10);
    cout<<endl;
    cout<<“2.Menampilkan deret bilangan genap dari angka 1 sampai 10  :  “;
    do
    {
    bil2=bil2+2;
    cout<<bil2;
    bil1++;
    }while(bil2<10);
    cout<<endl;
    cout<<“3.Menampilkan deret bilangan ganjil dari angka 1 sampai 10 :  “;
    do
    {
    bil3=bil3+1;
    cout<<bil3;
    bil3++;
    }while(bil3<10);
    getch();
    }

    ————————————————————————————————————–
    Dari hasil koding di atas….nih hasil debug nya:

Contoh Perulangan C++ Dengan For,While, dan Do-While

1. Perulangan C++ menngunakan For

Langsung saja ya temen-temen…..Mari kita mencoba menampilkan deret angka dari 1 sampai 10 dan menampilkan deret bilangan genap dan ganjil dari angka 1 sampai 10 , dengan menggunakan koding di bawah ini:

—————————————————————————————————————

#include<iostream.h>
#include<conio.h>

void main()
{
int bil1;
cout<<”              Latihan Perulangan C++ dengan For               “<<endl;
cout<<“==============================================================”<<endl;
cout<<“1.Menampilkan deret angka 1 sampai 10                      :  “;
for(bil1=0;bil1<=10;bil1++)
{
cout<<bil1;
}
cout<<endl;
cout<<“2.Menampilkan deret bilangan genap dari angka 1 sampai 10  :  “;
for(bil1=0;bil1<=10;bil1++)
{
bil1%2==0;
cout<<bil1;
bil1++;
}
cout<<endl;
cout<<“3.Menampilkan deret bilangan ganjil dari angka 1 sampai 10 :  “;
for(bil1=0;bil1<10;bil1++)
{
bil1%2!=0;
cout<<bil1+1;
bil1++;
}

getch();
}
—————————————————————————————————————

Dari hasil koding di atas….nih hasil debug nya:

  1. Perulangan C++ menngunakanWhile
    Sama dengan latihan pada Perulangan C++ menggunakan For, kita akan mencoba menampilkan deret angka 1 sampai 10 dan menampilkan deret bilangan ganjil dan genap dari angka 1 sampai 10, di bawah ini kodingnya:

    —————————————————————————————————————

    #include<iostream.h>
    #include<conio.h>

    void main()
    {
    int bil1=0;
    cout<<”              Latihan Perulangan C++ dengan While             “<<endl;
    cout<<“==============================================================”<<endl;
    cout<<“1.Menampilkan deret angka 1 sampai 10                      :  “;
    while(bil1<=10)
    {
    cout<<bil1;
    bil1++;
    }
    cout<<endl;
    int bil2=0;
    cout<<“2.Menampilkan deret bilangan genap dari angka 1 sampai 10  :  “;
    while(bil2<10)
    {
    bil2=bil2+2;
    cout<<bil2;
    }
    int bil3=0;
    cout<<endl;
    cout<<“3.Menampilkan deret bilangan ganjil dari angka 1 sampai 10 :  “;
    while(bil3<10)
    {
    bil3=bil3+1;
    cout<<bil3;
    bil3++;
    }
    getch();
    }

    —————————————————————————————————————
    Dari hasil koding di atas….nih hasil debug nya:

  2. Perulangan C++ menngunakan Do-While
    Sama dengan latihan pada Perulangan C++ menggunakan For dan While, kita akan mencoba menampilkan deret angka 1 sampai 10 dan menampilkan deret bilangan ganjil dan genap dari angka 1 sampai 10, di bawah ini kodingnya :

    —————————————————————————————————————

    #include<iostream.h>
    #include<conio.h>

    void main()
    {
    int bil1=0,bil2=0,bil3=0;
    cout<<”              Latihan Perulangan C++ dengan Do-While          “<<endl;
    cout<<“==============================================================”<<endl;
    cout<<“1.Menampilkan deret angka 1 sampai 10                      :  “;
    do
    {
    cout<<bil1;
    bil1++;
    }while(bil1<=10);
    cout<<endl;
    cout<<“2.Menampilkan deret bilangan genap dari angka 1 sampai 10  :  “;
    do
    {
    bil2=bil2+2;
    cout<<bil2;
    bil1++;
    }while(bil2<10);
    cout<<endl;
    cout<<“3.Menampilkan deret bilangan ganjil dari angka 1 sampai 10 :  “;
    do
    {
    bil3=bil3+1;
    cout<<bil3;
    bil3++;
    }while(bil3<10);
    getch();
    }

    ————————————————————————————————————–
    Dari hasil koding di atas….nih hasil debug nya:

ARRAY

 

ARRAY adalah himpunan elemen (variabel) dengan tipe yang sama dan disimpan secara berurutan didalam memory yang ditandai dengan pemberian indeks pada suatu nama variabel. Contohnya, kita dapat menyimpan 5 nilai dengan tipe data int tanpa harus mendeklarasikan 5 identifier variabel yang berbeda. Perhatikan contoh di bawah ini :

0 1 2 3 4

Bagian kosong diatasmempresentasekan elemen array, dalam kasus ini adalah nilai integer. Angka 0-4 adalah indeks dan selalu dimulai dengan angka 0. Seperti penggunaan variabel pada umumnya, array harus dideklarasikan terlebih dahulu dengan format sbb:

tipe data nama [element];

Maka contoh array diatas dideklarasikan sbb:

int budi [5];

  1. Inisialisasi array

Ketika mendeklarasikan variabel lokal (didalam fungsi), jika tidak dibeikan nilai maka isi dari array tidak akan ditentukan (undetermined) sampai nilai diberikan. Jiak pendeklarasian array global (diluar semua fungsi) maka isi dari array akan diinisialisasikan sebagai 0 :

int budi [5];

Maka setiap elemen array budi akan di-inisialisasikan sebagai 0

0 1 2 3 4
0 0 0 0 0

Nil

Atau dideklarasikan dengan memberikan nilai array yang dituliskan dalm kurung kurawal :

int budi [5] = {16,2, 77, 40, 1207};

Maka elemen array budi berisi :

0 1 2 3 4
0 0 0 0 0

Nil

  1. Access to the values of an array

Nilai array dapat diakses secara individual, dengan format :

nama [indeks];

Maka dari contoh sebelumnyanama yang di gunakan untuk mengakses masing-masing elemen :

(budi) 0 (budi) 1 (budi) 2 (budi) 3 (budi) 4
0 0 0 0 0

Nil

Misalnya akn di simpan nilai 75 pada elemen ketiga, mak intruksinya :

budi [2] = 75;

Dan jika nilai elemen ketiga tadi akan di berikan ke variabel a, maka dapat di tuliskan :

a = budi [2];

contoh :

#include<iostream.h>

#include<conio.h>

void main()

{

int a [5] ;

a [0]=76;

a [1]=65;

a [2]=87;

a [3]=43;

a [4]=25;

cout<<a[3]<<endl<<a[2];

getch();

}

Tampilannya :

43

87

C. Arraysebagai parameter
Adakalanya array diberikan kedalam fungsi parameter. Dalam c++ tidak memungkinkan untuk pass by value satu blok memory sebagai poarameter satu fungsi. Untuk menggunakan array sebagai parameter maka harus dilakukan saat pendeklarasian fungsi yang merupakan spesifikasi tipe array pada argumen, contoh :

void fungsi (int arg []);

dalam fungsi ini elemen array dapat diakses seperti biasanya. Sedangkan mengirim array kedalam fungsi tersebut, cukup dituliskan nama array yang akan di kirim kedalam parameter fungsi tersebut.
Array berdimensi banyak dapat dikirimkan kedalam fungsi dengan cara yang mirip dengan array satu dimensi, tetapi besar semua dimensi array kecuali dimensi pertama harus dideklarasikan pada parameter fungsi. Contoh : 

Void fungsi2 (float matrix [][5]

Atau

Void fungsi2 (float matrix [6][5] )

  1. D. Arrayberdimensi satu

Bentuk umum :

Contoh Program Array Satu Dimensi

#include<iostream.h>
#include<conio.h>
main(){
int data[5]; // array dengan 5 elemen bertipe integer
int i;
clrscr();
cout<<“Input Data“<<endl; //entri 5 data
for(i=0;i<=4;i++){
cout<<“Data ke – “<<i<<“: “;
cin>>data[i];
}
cout<<“Cetak Data“<<endl; //tampilkan data setelah entri
for(i=0;i <= 4;i++){
cout<<“Data ke – “<<i<<“:“<<data[i];
}
getch();
return 0;
}

Contoh Program Array Dua Dimensi/Banyak

#include<iostream.h>
#include<conio.h>
main(){
int i, j;
int data[2][2];
clrscr();
cout<<“Input Data“<<endl; //input data
for(i=0;i<=1;i++){
for(j=0;j<=1;j++){
cout<<“data[“<<i<<“][“<<j<<“]=”;
cin >> data[i][j];
}
}
cout<<“Cetak Data“<<endl; //cetak data
for(i=0;i<=1;i++){
for(j=0;j<=1;j++){
cout<<“data[“<<i<<“][“<<j<<“]=”<<data[i][j]<<endl;
}
}
getch();
return 0;
}

Fungsi dan Persedur Pengembalian Nilai dan Tidak Pengembalian Nilai

  1. Pengertian Fungsi

Fungsi, atau dalam beberapa literatur ada yang mengistilahkan subrutin, subprogram maupun prosedur, adalah salah satu teknik pemrograman untuk meningkatkan modularitas program yang akan dibuat. Semakin besar tingkat modularitasnya, maka kecenderungannya adalah program itu akan relatif semakin baik. Mengapa? Karena program yang size-nya besar, banyak baris kode, akan dipecah menjadi modul-modul yang ukurannya lebih kecil. Beberapa keuntungannya adalah dalam hal efisiensi dan kemudahan dalam debugging. Dikatakan efisien karena konsep fungsi akan merangkum bagian tugas-tugas yang sama cukup dengan menuliskan kode program satu kali saja tetapi bisa dipanggil/ dijalankan berulang kali sepanjang program. Di sisi lain, jumlah baris kode program yang semakin sedikit akan memudahkan dalam menelusuri kesalahan yang ditemukan. Penggunaan konsep fungsi juga akan mengakibatkan isi dari void main() akan menjadi semakin ringkas.

  • Tujuan menggunakan fungsi 

 

  • Fungsi digunakan agar pemrogram dapat menghindari penulisan bagian  program (kode) berulang-ulang, selain itu juga dapat menyusun kode program agar terlihat lebih rapi dan kemudahan dalam debugging program tersebut.
  • Fungsi-fungsi dapat dijinkan untuk menghindari penulisan yang sama berulang-ulang. Langkah-langkah program yang sama dan sering digunakan berulang-ulang dapat ditulis sekali saja secara terpisah dalam bentuk fungsi-fungsi, selanjutnya bagian program yang membutuhkan langkah-langkah ini cukup memanggil fungsi-fungsi tersebut.
  • Jenis-Jenis Fungsi 

 

  • Void (Fungi Tanpa Nilai Balik)

   Fungsi yang void sering disebut juga prosedur. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.

  • Ciri-ciriDari Jenis Fungsi Void 
  • Tidak adanya keyword return.
  • Tidak adanya tipe data di dalam deklarasi fungsi.
  • Menggunakan keyword void.
  • Tidak dapat langsung ditampilkan hasilnya.
  • Tidak memiliki nilai kembalian fungsi.
  • Contoh Program fungsi void

#include

#include

void luas(int &ls, int p, int l)

{

ls = p*l;

}

main()

{

int pj,lb, hsl;

cout<<“Panjang = “;cin>>pj;

cout<<“Lebar = “;cin>>lb;

luas(hsl,pj,lb);

cout<<“\nLuasnya = “<

getch();

  • Non-Void (Fungsi Dengan Nilai Balik)

Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut .

 

 

  • Ciri-ciridari jenis fungsi non void adalah sebagai berikut:
    • Ada keyword return
    • Ada tipe data yang mengawali fungsi
    • Tidak ada keyword void
    • Memiliki nilai kembalian
    • Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu
    • Sehingga dapat langsung ditampilkan hasilnya
    • Non-void : int jumlah (int a, int b)
  • Contoh program non void

#include

#include

int luas(int p, int l)

{return (p*l); }

main(){

int pj,lb;

cout<<“Panjang = “;cin>>pj;

cout<<“Lebar = “;cin>>lb;

cout<<“\nLuasnya = “<

getch();

}

  • Definisi Fungsi berisi tipe_Fungsi

(tergantung dari tipe data

hasil balik yang akan diberikan oleh Fungsi dapat berupa double, float tergantung dari ketepatan yang diinginkan. Khusus untuk Fungsi yang tidak ditulis tipenya maka akan dianggap bertipe int

atau char), nama_Fungsi (merupakan nama yang dibentuk sendiri oleh programmer) dan argumen1, argumen 2,… atau disebut juga alat komunikasi untuk data yang dikirimkan dari bagian program yang memanggil Fungsi. Untuk Fungsi yang tidak menggunakan argumen cara penulisannya menjadi tipe_fungsi nama_Fungsi(void)

  • Tubuh Fungsi, berisi statemen-statemen program yang akan melaksanakan tugas yang diberikan, untuk bagian ini harusdiawali dengan tanda { dan diakhiri dengan tanda }
  1. PROSEDUR

Prosedur adalah fungsi yang tidak mengembalikan nilai, maka dari itu penggunaan prosedur selalu menggunakan void karena void tidaklah mengembalikan nilai.Tujuan dari penggunaan prosedur salah satunya adalah untuk mendefinisikan  masing – masing tugas.

  • contoh program:

#include<iostream.h>

void volume_limas()

{

double p, l, t;

cout<<“Volume limas segi empat”<<endl;

cout<<“Masukkan panjang: “;

cin>>p;

cout<<“Masukkan lebar: “;

cin>>l;

cout<<“Masukkan tinggi: “;

cin>>t;

cout<<“Volume limas segi empat: “<<p*l*t/3<<endl;

}

void volume_kerucut()

{

double r, t;

cout<<“Volume kerucut”<<endl;

cout<<“Masukkan jari2: “;

cin>>r;

cout<<“Masukkan t: “;

cin>>t;

cout<<“Volume kerucut: “<<3.14*r*r*t/3<<endl;

}

void volume_bola()

{

double r;

cout<<“Volume bola”<<endl;

cout<<“Masukkan nilai r= “;

cin>>r;

cout<<“Volume bola= “<<4*3.14*r*r*r/3<<endl;

}

int main()

{

volume_limas();

volume_kerucut();

volume_bola();

return 0;

}

berikut screenshot dari program diatas:

 

  • Fungsi utama dalam bahasa C/C++ biasanya ditulis dengan struktur :

int main()

{

statement-statement;

return 0;

}

Jika fungsi utama tersebut telah melaksanakan tugasnya maka fungsi utama terebut akan mengembalikan nilai 0 dan sebaliknya jika tidak berhasil maka fungsi utama tersebut akan mengembalikan nilai mengembalikan nilai mengembalikan nilai mengembalikan nilai –1.

Supaya Fungsi/prosedur dapat digunakan harus dapat dipanggil dari bagian program yang membutuhkannya, untuk itu suatu Fungsi/prosedur harus diberi nama. Aturan penamaan Fungsi/prosedur sama dengan aturan penamaan variabel dan/atau konstanta. Pada C/C++, untuk mendeklarasikan fungsi tambahan kita dapat menuliskannya sebagai berikut.

  • Definisi Prosedur berisi tipe dari Prosedur yaitu void karena prosedur tidak meberikan nilai hasil balik, nama_Prosedur (merupakan nama yang dibentuk sendiri oleh pemrogram) dan

argumen1, argumen 2,… atau disebut juga sebagai parameter input/output tergantung fungsi argumen tersebut sebagai alat komunikasi untuk data yang dikirimkan dari bagian program yang memanggil atau dikirimkan dari prosedur tersebut.

  • Tubuh Prosedur, berisi statemen-statemen program yang akan melaksanakan tugas yang diberikan, untuk bagian ini harus diawali dengan tanda { dan diakhiri dengan tanda }

Pada C/C++, secara lengkap penulisan fungsi/prosedur tambahan dan fungsi utama serta pemaanggilannya dapat ditulis sebagai berikut :

#include <library header>

tipe_fungsi nama_Fungsi(argumen1, argumen2,….)   prototipe fungsi

void nama_Prosedur(argumen1, argumen2,….)      /Prosedur

int main()

{

printf(“%…”,nama_fungsi(argumen)):

atau                                   Pemanggilan fungsi

variabel = nama_fungsi(argumen);

printf(“%…”,variabel):

 

nama_prosedur(argumen1, argumen2,…);             Pemanggilan

proses argumen ex : printf(”%…”,argumen1); dst   Prosedur

return 0;

}

 

  1. Perbedaan utama fungsi dan prosedur adalah

Fungsi hanya akan mengembalikan sebuah nilai ke bagian yang memanggilnya atau dengan kata lain sebuah fungsi hanya mengerjakan satu tugas saja, sedangkan prosedur akan mengembalikan satu atau lebih nilai atau bahkantidak mengembalikan nilai sama sekali ke bagian yang memanggilnya, atau dengan kata lain sebuah prosedur dapat mengerjakan lebih dari satu tugas Kelebihan program yang menggunakan fungsi tambahan selain fungsi utamanya diantaranya :

  • Program menjadi lebih mudah dimengerti

Hal ini disebabkan karena proses penyelesaian untuk suatu masalah dipecah menjadi beberapa

sub masalah/ pemecahan masalah tersebut ke dalam bentuk fungsi yang lebih sederhana akan

membuat program menjadi lebih mudah dimengerti dibandingkan jika semuanya dilakukan

dalam fungsi utama saja.

  • Pengaruh antar bagian menjadi lebih kecil (Program menjadi lebih independen)

Karena suatu sub masalah diselesaikan dalam fungsi/prosedur yang terpisah maka (seharusnya) hal tersebut tidak akan mempengaruhi perintah yang ada pada fungsi/prosedur yang lain. Tidak seperti jika dikerjakan dalam fungsi utama atau bagian utama, sebuah perintah tertentu pada suatu baris program memungkinkan akan memberi pengaruh yang tidak dikehendaki ke perintah pada baris program yang lain. Dalam pembuatan sebuah fungsi/prosedur yang baik, perintah-perintah yang ada dalam suatu fungsi/prosedur seharusnya tidak mempengaruhi perintah-perintah yang ada di fungsi/prosedur yang lain (independen)

  • Dapat dipakai kembali

Fungsi/prosedur yang pernah dibuat dapat dipakai kembali di program yang lain untuk menyelesaikan masalah yang berbeda, sehingga pada pembuatan program berikutnya akan

menjadi semakin mudah karena kita sudah mempunyai beberapa fungsi/prosedur tambahan yang dapat dimanfaatkan (contohnyaLibrary header dalam bahasa C/C++). Hal ini akan membantu seorang programmer untuk menyelesaiakan suatu program dengan waktu yang lebih singkat.

  • Lebih efisien dan ukuran program menjadi lebih kecil

Dengan adanya fungsi/prosedur penulisan kumpulan baris program yang sama di tempat yang

berbeda dapat dikurangi atau dapat ditulis satu kali saja dalam fungsi/prosedur, jika bagian

program membutuhkan perintah tersebut tinggal memanggil fungsi/prosedur tersebut. Sehingga program yang dibuat menjadi lebih efisien dan ukurannyapun menjadi lebih kecil

  • Lebih konsisten

Penulisan kumpulan baris program yang sama secara berulang-ulang ditempat yang berbeda

akan mengakibatkan program menjadi tidak konsisten, karena jika terdapat kesalahan dalam

kumpulan baris program tersebut maka programmer harus mengingat kembali posisi kumpulan baris program tersebut. Sebaliknya jika kumpulan baris program yang sama dibuat dalam bentuk fungsi/prosedur maka jika ada kesalahan perintah, programmer tinggal memperbaikinya pada fungsi/prosedur tersebut.

  1. Terdapat tiga jenis data yang mungkin dikirim dengan menggunakan parameter yaitu
  2. Isi atau nilai dari suatu variabel/data atau dikenal juga sebagai passing by value

Karakteristik pengiriman parameter ini diantaranya :

  • Yang dikirim ke fungsi/prosedur adalah nilai dari data,
  • Fungsi/prosedur yang menerima kiriman nilai ini akan menyimpannya di alamat yang

terpisah dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi/prosedur terbsebut,

  • Perubahan nilai fungsi/prosedur tidak akan mengubah nilai asli di bagian program yang

memanggil fungsi/prosedur walaupun keduanya menggunakan nama variabel yang sama,

  • Merupakan pengiriman searah, yaitu dari bagian program yang memanggil fungsi/prosedur

ke fungsi/prosedur yang dipanggil,

  • Dapat digunakan untuk suatu ungkapan, sebuah variabel atau elemen larik atau konstanta.

Contoh : Program dengan menggunakan pengiriman parameter passing by value

#include<stdio.h>

int Tambah5(int X)

{

X = X + 5;

printf(“\n Nilai di dalam fungsi A = %d”,X);

return X;

}

int main()

{

//deklarasi data

int A;

//input nilai

printf(“Masukan Nilai A : “);scanf(“%d”,&A);

//menampilkan nilai awal

printf(“\n sebelum fungsi dijalankan A = %d”,A);

//panggil fungsi Tambah5

printf(“\n Hasil Fungsi %d + 5 = %d\n”,A,Tambah5(A));

//menampilkan nilai akhir

printf(“\n setelah fungsi dijalankan A = %d”,A);

return 0;

}

  1. Alamat atau Nama dari suatu variabel/data atau dikenal juga sebagai passing by reference

passing by referencepassing by reference passing by reference

Karakteristik pengiriman parameter ini diantaranya :

  • Yang dikirim ke fungsi/prosedur adalah alamat letak dari nilai datanya,
  • Fungsi/prosedur yang menerima kiriman alamat ini akan menggunakan alamat yang sama

untuk mendapatkan nilai datanya,

  • Perubahan nilai fungsi/prosedur akan mengubah nilai asli di bagian program yang memanggil fungsi/Prosedur,
  • Merupakan pengiriman dua arah, yaitu dari bagian program yang memanggil fungsi/prosedur ke fungsi/prosedur yang dipanggil dan sebaliknya,
  • Tidak dapat digunakan untuk suatu ungkapan, hanya dapat digunakan untuk sebuah variabel atau elemen larik atau konstanta saja.

Contoh : Program dengan menggunakan pengiriman parameter

#include<stdio.h>

int Tambah5(int &A) //tanda & digunakan untuk menunjukan reference dari variabel A

{

A = A + 5;

printf(“\n Nilai di dalam fungsi A = %d”,A);

return A;

}

int main()

{

//deklarasi data

int A;

//input nilai

printf(“Masukan Nilai A : “);scanf(“%d”,&A);

//menampilkan nilai awal

printf(“\n sebelum fungsi dijalankan A = %d”,A);

//panggil fungsi Tambah5

printf(“\n Hasil Fungsi %d + 5 = %d\n”,A,Tambah5(A));

//menampilkan nilai akhir

printf(“\n setelah fungsi dijalankan A = %d”,A);

return 0;

}

  1. Pointer dari suatu variabel/data atau dikenal juga sebagai passing by pointer

Karakteristik pengiriman parameter ini diantaranya :

  • Yang dikirim ke fungsi/prosedur adalah alamat datanya,
  • Fungsi/prosedur yang menerima kiriman alamat ini akan menggunakan alamat yang sama untuk mendapatkan nilai datanya,
  • Perubahan nilai fungsi/prosedur akan mengubah nilai asli di bagian program yang memanggil fungsi/prosedur,
  • Merupakan pengiriman dua arah, yaitu dari bagian program yang memanggil fungsi/prosedur ke fungsi/prosedur yang dipanggil dan sebaliknya,

Contoh : Program dengan menggunakan pengiriman parameter passing by pointer

#include<stdio.h>

void Tukar(int *A, int *B) //tanda * digunakan untuk menunjukan

{                                     //pointer atau alamat dari variabel A dan B

int Temp;

Temp = *A;

*A = *B;

*B = Temp;;

printf(“\n Nilai di dalam fungsi –> A = %d dan B = %d”,*A,*B);

printf(“\n Alamat di dalam fungsi –>A = %d dan B = %d”,A,B);

}

int main()

{

//deklarasi data

int A,B;

//input nilai

printf(“Masukan Nilai A : “);scanf(“%d”,&A);

printf(“Masukan Nilai B : “);scanf(“%d”,&B);

//menampilkan nilai awal

printf(“\n sebelum fungsi dijalankan nilai A = %d dan B = %d”,A,B);

printf(“\n sebelum fungsi dijalankan alamat A = %d dan B = %d”,&A,&B);

//panggil fungsi Tukar

Tukar(&A,&B);

//menampilkan nilai akhir

printf(“\n setelah fungsi dijalankan nilai A = %d dan B = %d”,A,B);

printf(“\n sebelum fungsi dijalankan alamat A = %d dan B = %d”,&A,&B);

return 0;

}

 

Standar Fungsi Input dan Output Dalam C++

Standar Fungsi Input dan Output Dalam C++

Berbicara tentang input dan ouput data dalam C++ tidak jauh dari penggunaan keyboard untuk input dan tampilan layar monitor untuk output. Dalam C++ menggunakan berbagai macam format untuk input dan output tergantung dari penggunaan file header yang digunakan, kemudian yang akan dibahas kali ini adalah penggunaan 2 standar input dan output dasar yang sering digunakan dalam C++ dengan format yang berbeda.

  1. Input (Memasukkan Data)

Dengan menggunakan #include <stdio.h> bagi yang belum tahu fungsi stdio.h lihat artikel sebelumnya aturan dan perintah dasar C++.

  • Menggunakan <stdio.h>
  1. Fungsi scanf()

fungsi scanf() berguna untuk meninput data baik berupa bilangan, karakter, ataupun

kalimat secara terformat. Berikut format-format yang digunakan untuk scanf() :

%c : Membaca sebuah karakter

%s : Membaca sebuah string

%i, %d : Membaca sebuah bilangan bulat (integer, desimal)

%f, %e : Membaca sebuah bilangan pecahan (real, float)

%o : Membaca sebuah bilangan octal

%x : Membaca sebuah bilangan heksadesimal

%u : Membaca sebuah bilangan tak bertanda

  1. Fungsi gets()

fungsi gets() berguna untuk memasukkan data bertipe karakter, tanpa penggunaan format seperti scanf(), dan tidak dapat untuk menginput data numeric ataupun string.

  1. Fungsi getchar()

fungsi getchar berguna untuk membaca data yang bertipe karakter.

Dengan menggunakan #include <iostream.h> bagi yang belum tahu fungsi iostream.h lihat artikel sebelumnya aturan dan perintah dasar C++.

  • Menggunakan <iostream.h>
  1. Fungsi cin >> var

fungsi cin >> berguna untuk menginput data berupa numerik, string, dan karakter. Var dapat lebih dari satu variabel (cin >> var >> var) dan dapat berupa karakter.

  1. Format : cin.get.(var, sizeof(var)),

penggunaan format ini untuk menginput string lebih dari satu kata atau seperti kita menekan spasi, tetapi akan terjadi kesalahan jika satu program digunakan lebih dari satu kali. Dan untuk menangani ini lebih baik menggunakan format cin.getline(var, sizeof(var)).

  1. Format : cin.getline(var, sizeof(var)).
  1. Output (Menampilkan Data)

Dengan menggunakan #include <stdio.h>

 

  1. Menampilkan output ke layar monitor

Fungsi printf() berguna untuk menampilkan semua jenis data (number, string, dan karakter)

Fungsi puts() digunakan untuk menampilkan data string dan secara otomatis akan pidah baris (new line).

Fungsi putchar() digunakan untuk menampilkan sebuah karakter.

  1. Mengatur tampilan output

Bentuk sintaks :

printf(”%m,nf”, var)

m : Menyatakan banyaknya digit angka

n : Menyatakan banyaknya digit angka dibelakang koma

var : variabel bertipe float yang akan ditampilkan

Contoh :

printf(”%5.2f”, nilai); ”berarti yang akan ditampilkan angka sebanyak 5 digit dan 2 digit angka dibelankang koma”

Dengan menggunakan #include <iostream.h>

 

Menampilkan output ke layar monitor

Bentuk sintaks

cout << var;

cout << konstanta;

Fungsi cout << dapat digunakan untuk menampilkan semua jenis data (numeric dan karakter) yang dapat berupa nilai, karakter ataupun konstanta.

C

Contoh program input nilai :

#include <iostream.h>

#include <conio.h>

#include <string.h>

void judul();

char tanya();

void isi();

char huruf(float rat);

void cetak(int a, int b, char *teks)

{

gotoxy(b,a);cout<<teks;

}

void cetakc(int a, char *teks)

{

gotoxy(40-((strlen(teks)/2)),a);cout<<teks;

}

void main()

{

judul();

isi();

cout<<endl<<endl;

getch();

}

void judul()

{

cetakc(1,”DAFTAR NILAI”);

cetakc(2,”PRODI TEKNIK INFORMATIKA”);

cetak(4,4,”========================================================================”);

cetak(5,4,”|”);

cetak(5,7,”No”);

cetak(5,10,”|”);

cetak(5,14,”NIM”);

cetak(5,21,”|”);

cetak(5,27,”N A M A”);

cetak(5,44,”|”);

cetak(5,46,”UTS”);

cetak(5,50,”|”);

cetak(5,52,”UAS”);

cetak(5,56,”|”);

cetak(5,58,”TUGAS”);

cetak(5,64,”|”);

cetak(5,66,”NILAI HRF”);

cetak(5,76,”|”);

cetak(6,4,”========================================================================”);

}

void isi()

{

int nim,uts,uas,tugas,tot;

char nama[15],maxnm[15],minnm[15];

float rata,maxnil,minnil,ratkelas,totrat;

char jawab;

static int i = 1;

maxnil=0;minnil=100;totrat=0;

do

{

gotoxy(4,6+i);cout<<“|”;

gotoxy(7,6+i);cin>>i;

gotoxy(10,6+i);cout<<“|”;

gotoxy(12,6+i);cin>>nim;

gotoxy(21,6+i);cout<<“|”;

gotoxy(23,6+i);cin>>nama;

gotoxy(44,6+i);cout<<“|”;

gotoxy(46,6+i);cin>>uts;

gotoxy(50,6+i);cout<<“|”;

gotoxy(52,6+i);cin>>uas;

gotoxy(56,6+i);cout<<“|”;

gotoxy(58,6+i);cin>>tugas;

gotoxy(64,6+i);cout<<“|”;

tot=uts+uas+tugas;

rata=tot/3;

totrat=totrat+rata;

ratkelas=totrat/i;

if(rata>maxnil)

{

maxnil=rata;

strcpy(maxnm,nama);

}

if(rata<minnil)

{

minnil=rata;

strcpy(minnm,nama);

}

gotoxy(69,6+i);cout<<huruf(rata);

gotoxy(76,6+i);cout<<“|”;

jawab=tanya();

if(jawab==’t’)

{

gotoxy(4,7+i);

cout<<“========================================================================”;

gotoxy(4,8+i);cout<<“Jumlah data : “<<i;

gotoxy(4,9+i);cout<<“Rata kelas : “<<ratkelas;

gotoxy(4,10+i);cout<<“Nilai tertinggi : “<<maxnil;

gotoxy(30,10+i);cout<<“Nama : “<<maxnm;

gotoxy(4,11+i);cout<<“Nilai terendah : “<<minnil;

gotoxy(30,11+i);cout<<“Nama : “<<minnm;

}

i++;

}while(jawab!=’t’);

}

char tanya()

{

char jw;

cetak(3,20,”input data lagi[Y/T]? : “);

cin>>jw;

gotoxy(20,3);clreol();

return(jw);

}

char huruf(float rat)

{

if(rat>80)

return(‘A’);

else if(rat>70)

return(‘B’);

else if(rat>60)

return(‘C’);

else if(rat>50)

return(‘D’);

else

return(‘E’);

Contoh program input nilai :

#include <iostream.h>

#include <conio.h>

#include <string.h>

void judul();

char tanya();

void isi();

char huruf(float rat);

void cetak(int a, int b, char *teks)

{

gotoxy(b,a);cout<<teks;

}

void cetakc(int a, char *teks)

{

gotoxy(40-((strlen(teks)/2)),a);cout<<teks;

}

void main()

{

judul();

isi();

cout<<endl<<endl;

getch();

}

void judul()

{

cetakc(1,”DAFTAR NILAI”);

cetakc(2,”PRODI TEKNIK INFORMATIKA”);

cetak(4,4,”========================================================================”);

cetak(5,4,”|”);

cetak(5,7,”No”);

cetak(5,10,”|”);

cetak(5,14,”NIM”);

cetak(5,21,”|”);

cetak(5,27,”N A M A”);

cetak(5,44,”|”);

cetak(5,46,”UTS”);

cetak(5,50,”|”);

cetak(5,52,”UAS”);

cetak(5,56,”|”);

cetak(5,58,”TUGAS”);

cetak(5,64,”|”);

cetak(5,66,”NILAI HRF”);

cetak(5,76,”|”);

cetak(6,4,”========================================================================”);

}

void isi()

{

int nim,uts,uas,tugas,tot;

char nama[15],maxnm[15],minnm[15];

float rata,maxnil,minnil,ratkelas,totrat;

char jawab;

static int i = 1;

maxnil=0;minnil=100;totrat=0;

do

{

gotoxy(4,6+i);cout<<“|”;

gotoxy(7,6+i);cin>>i;

gotoxy(10,6+i);cout<<“|”;

gotoxy(12,6+i);cin>>nim;

gotoxy(21,6+i);cout<<“|”;

gotoxy(23,6+i);cin>>nama;

gotoxy(44,6+i);cout<<“|”;

gotoxy(46,6+i);cin>>uts;

gotoxy(50,6+i);cout<<“|”;

gotoxy(52,6+i);cin>>uas;

gotoxy(56,6+i);cout<<“|”;

gotoxy(58,6+i);cin>>tugas;

gotoxy(64,6+i);cout<<“|”;

tot=uts+uas+tugas;

rata=tot/3;

totrat=totrat+rata;

ratkelas=totrat/i;

if(rata>maxnil)

{

maxnil=rata;

strcpy(maxnm,nama);

}

if(rata<minnil)

{

minnil=rata;

strcpy(minnm,nama);

}

gotoxy(69,6+i);cout<<huruf(rata);

gotoxy(76,6+i);cout<<“|”;

jawab=tanya();

if(jawab==’t’)

{

gotoxy(4,7+i);

cout<<“========================================================================”;

gotoxy(4,8+i);cout<<“Jumlah data : “<<i;

gotoxy(4,9+i);cout<<“Rata kelas : “<<ratkelas;

gotoxy(4,10+i);cout<<“Nilai tertinggi : “<<maxnil;

gotoxy(30,10+i);cout<<“Nama : “<<maxnm;

gotoxy(4,11+i);cout<<“Nilai terendah : “<<minnil;

gotoxy(30,11+i);cout<<“Nama : “<<minnm;

}

i++;

}while(jawab!=’t’);

}

char tanya()

{

char jw;

cetak(3,20,”input data lagi[Y/T]? : “);

cin>>jw;

gotoxy(20,3);clreol();

return(jw);

}

char huruf(float rat)

{

if(rat>80)

return(‘A’);

else if(rat>70)

return(‘B’);

else if(rat>60)

return(‘C’);

else if(rat>50)

return(‘D’);

else

return(‘E’);

}

 

program bintang

Contoh program input nilai :

#include <iostream.h>

#include <conio.h>

#include <string.h>

void judul();

char tanya();

void isi();

char huruf(float rat);

void cetak(int a, int b, char *teks)

{

gotoxy(b,a);cout<<teks;

}

void cetakc(int a, char *teks)

{

gotoxy(40-((strlen(teks)/2)),a);cout<<teks;

}

void main()

{

judul();

isi();

cout<<endl<<endl;

getch();

}

void judul()

{

cetakc(1,”DAFTAR NILAI”);

cetakc(2,”PRODI TEKNIK INFORMATIKA”);

cetak(4,4,”========================================================================”);

cetak(5,4,”|”);

cetak(5,7,”No”);

cetak(5,10,”|”);

cetak(5,14,”NIM”);

cetak(5,21,”|”);

cetak(5,27,”N A M A”);

cetak(5,44,”|”);

cetak(5,46,”UTS”);

cetak(5,50,”|”);

cetak(5,52,”UAS”);

cetak(5,56,”|”);

cetak(5,58,”TUGAS”);

cetak(5,64,”|”);

cetak(5,66,”NILAI HRF”);

cetak(5,76,”|”);

cetak(6,4,”========================================================================”);

}

void isi()

{

int nim,uts,uas,tugas,tot;

char nama[15],maxnm[15],minnm[15];

float rata,maxnil,minnil,ratkelas,totrat;

char jawab;

static int i = 1;

maxnil=0;minnil=100;totrat=0;

do

{

gotoxy(4,6+i);cout<<“|”;

gotoxy(7,6+i);cin>>i;

gotoxy(10,6+i);cout<<“|”;

gotoxy(12,6+i);cin>>nim;

gotoxy(21,6+i);cout<<“|”;

gotoxy(23,6+i);cin>>nama;

gotoxy(44,6+i);cout<<“|”;

gotoxy(46,6+i);cin>>uts;

gotoxy(50,6+i);cout<<“|”;

gotoxy(52,6+i);cin>>uas;

gotoxy(56,6+i);cout<<“|”;

gotoxy(58,6+i);cin>>tugas;

gotoxy(64,6+i);cout<<“|”;

tot=uts+uas+tugas;

rata=tot/3;

totrat=totrat+rata;

ratkelas=totrat/i;

if(rata>maxnil)

{

maxnil=rata;

strcpy(maxnm,nama);

}

if(rata<minnil)

{

minnil=rata;

strcpy(minnm,nama);

}

gotoxy(69,6+i);cout<<huruf(rata);

gotoxy(76,6+i);cout<<“|”;

jawab=tanya();

if(jawab==’t’)

{

gotoxy(4,7+i);

cout<<“========================================================================”;

gotoxy(4,8+i);cout<<“Jumlah data : “<<i;

gotoxy(4,9+i);cout<<“Rata kelas : “<<ratkelas;

gotoxy(4,10+i);cout<<“Nilai tertinggi : “<<maxnil;

gotoxy(30,10+i);cout<<“Nama : “<<maxnm;

gotoxy(4,11+i);cout<<“Nilai terendah : “<<minnil;

gotoxy(30,11+i);cout<<“Nama : “<<minnm;

}

i++;

}while(jawab!=’t’);

}

char tanya()

{

char jw;

cetak(3,20,”input data lagi[Y/T]? : “);

cin>>jw;

gotoxy(20,3);clreol();

return(jw);

}

char huruf(float rat)

{

if(rat>80)

return(‘A’);

else if(rat>70)

return(‘B’);

else if(rat>60)

return(‘C’);

else if(rat>50)

return(‘D’);

else

return(‘E’);

}

Output

Flowchat nya :

FLOWCHART

PSEUDOCODE DAFTAR NILAI

  1. MASUKKAN NO URUT
  2. MASUKKAN NIM
  3. MASUKKAN NAMA
  4. MASUKKAN NILAI UTS
  5. MASUKKAN NILAI UTS
  6. MASUKKAN NILAI TUGAS
  7. PROSES NILAI RATA-RATA ((UTS+UAS+TUGAS)/3)
  8. PROSES (JIKA RATA>80;”A”;JIKA RATA>70;”B”;JIKA RATA>60;”C”;JIKA RATA>50”D”;”E”)
  9. CETAK HURUF
  10. INPUT APAKAH INGIN INPUT DATA LAGI [Y/T]

Y
T

Percabangan If-Else,Switch Case Dan Perbedaannya

  • If

Berfungsi untuk menentukan perintah mana yang akan digunakan dalam artian jika pernyataan tersebut bernilai benar maka akan dijalankan perintahnya. Jika salah maka tidak dapat dijalankan.

Contoh Program :

24

Outputnya:

25

  • If…Else

Berfungsi melibatkan pernyataan majemuk yaitu pernyataan A dan B. Jika pernyataan bukan merupakan pernyataan A, maka yang akan dijalankan merupakan pernyataan B.

Contoh Program :

26

27

  • Switch case

Pernyataan switch-case merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatkan banyaknya alternatif dalam suatu masalah. Kegunaan switch-case sebagai pengganti if-else majemuk yang apabila dalam suatu masalah if-else majemuk tidak dapat menangani maka diganti dengan switch-case. Sederhananya jika if-else majemuk tidak dapat menyelesaikan masalah yang banyak alternatif maka kita menggunakan switch-case untuk menyelesaikannya.

Penggunaan khusus switch-case sebenarnya adalah untuk memeriksa data yang bertipe integer atau karakter.

Contoh Program :

 28
 29

Outputnya:

 30
  • Perbedaan If- Else dan Switch Case.
  1. Switch, kondisi hanya dinyatakan dengan bilangan bulat atau karakter/string sedangkan IF-ELSE yang dapat menggunakan operasi seperti <, >, <= dan >=.
  2. Tidak ada konstanta yang sama dalam sebuah switch.
  3. Angka yang digunakan harus berkisar diantara 0 – 255.
  4. Harus menggunakan break,  Gunanya untuk mengakhiri statement.
  5. Ada default, ini bisa dibilang sebagai ‘Else’nya Switch Case.

Standar input dan output dalam bahasa c++

 

  1. Perintah Output

Perintah Output adalah perintah yang digunakan untuk mengeluarkan hasil proses komputer sehingga bisa dibaca oleh si pemakai (user). Adapun media yang digunakan untuk menampilkan hasil output tadi bisa berupa monitor atau dicetak ke kertas melalui printer. Salah satu fungsi untuk menampilkan output dalam Turbo C++ adalah :

a.printf().

Fungsi printf() digunakan untuk mencetak data baik berupa teks, numerik, konstanta maupun variabel. Contoh penggunaan printf() bisa dilihat pada contoh program berikut :

14

Bisa dilihat dari contoh diatas, bahwa perintah printf() bisa diikuti dengan tanda %s, %f, %d dan lain-lain. Tanda % tersebut disebut dengan penentu format (format specifier)  Fungsi printf() digunakan untuk menampilkan semua jenis data (numeric dan karakter)

Perintah lain untuk menampilkan output adalah dengan puts() dan putchar().

  1. Fungsi puts() digunakan untuk menampilkan data string dan secara otomatis akan diakhir dengan perpindahan baris.
  2. Fungsi putchar() digunakan untuk menampilkan sebuah karakter.berikut adalah contoh penggunaan putchar() dan puts()

15

    

  1. Fungsi cout

Penggunaan cout stream dhubungkan dengan operator overloaded  << (Sepasang tanda “less than”).  Contoh     :

cout << “Nama Saya Afandi”; // Tampilkan Output Nama Saya Afandi

cout << 1000;  // Tampilkan angka 1000 pada layar

cout << x;        // Tampilkan variabel x on pada layar

Operator << dikenal sebagai insertion operator, dimana berfungsi untuk menginput data yang mengikutinya. Jika berupa string, maka harus diapit dengan kutip ganda (“), sehingga membedakannya dari variable. Contoh

cout << “Hello”;      // Tampilkan Hello pada layar

cout << Hello;        // Tampilkan variabel Hello pada layar

Operator insertion (<<) dapat digunakan lebih dari 1 kali dalam kalimat yang sama, Contoh  :

cout << “Hallo, ” << “nama ” << “Saya Afandi”;

Contoh diatas akan menampilkan  Hallo nama Saya Afandi sentence pada layar monitor. Manfaat dari pengulangan penggunaan operator insertion (<<) adalah untuk menampilkan kombinasi dari satu variabel dan konstanta atau lebih, contoh                      :

cout << “Hello I am ” << age << ” years old and my zipcode is ” << zipcode;

Misalkan variable age = 24 dan  variable zipcode = 90064 maka output yang dihasilkan :

Hello, I am 24 years old and my zipcode is 90064

Contoh :

cout << “Baris pertama \n “;
cout << “Baris kedua.\nBaris ketiga.”;

Output :

Baris pertama.
Baris kedua.
Baris ketiga.

Selain dengan karakter new-line, dapat juga menggunakan manipulator endl, contoh    :

cout << “Baris pertama” << endl;
cout << “Baris kedua” << endl;

Output :

Baris pertamaBaris kedua

  1. Perintah Input
    Setiap bahasa pemrograman tidak akan bisa digunakan secara fleksibel jika tidak memiliki perintah input. Perintah input adalah sebuah perintah dalam bahasa program yang mampu meneruskan nilai dari operator untuk diproses oleh komputer. Perintah input memerlukan perangkat keras input, biasanya adalah keyboard. Dalam Turbo C++, terdapat tiga perintah input yaitu scanf(), getche(), getch() dan gets().
  1. Fungsi scanf()
    Bentuk umum dari fungsi scanf() adalah sebagai berikut :

16

Penggunaan scanf() biasanya dikombinasikan dengan perintah printf(). Perintah printf() disini berfungsi sekedar menampilkan keterangan tentang apa yang harus diinputkan, sehingga operator bisa langsung mengerti harus memasukkan data apa. Untuk penentu format pada scanf(), dapat dilihat pada tabel berikut :
Tabel 3.3 Tabel Penentu Format scanf()

17

Selain itu, penggunaan scanf() juga harus menyertakan tanda ‘&’ pada awal nama variabel. Tanda ‘&’ disini befungsi sebagai operator alamat (address operator).
Contoh penggunaan scanf() sebagai berikut :

18

Jika terdapat beberapa proses input (memasukkan data) sekaligus, maka sebaiknya ditambahkan fungsi fflush(stdin); setelah fungsi scanf(). Fungsi fflush(stdin) berfungsi menghapus buffer di dalam alat I/O.

Scanf() juga bisa digunakan untuk menginputkan beberapa data sekaligus dalam satu baris asalkan jumlah dan tipe penentu format sesuai dengan variabel yang akan diinputkan. Data yang akan dimasukkan dapat dipisahkan dengan spasi, tab atau tanda pemisah lain seperti koma (,), garis hubung(-), atau titik dua(:). Pemisah data dalam input yang digunakan harus sama dengan pemisah data dalam scanf().

19

 B.Fungsi getche() 

Fungsi input getche() memiliki sifat yang sedikit berbeda dari scanf(). Perbedaan tersebut antara lain :
1. Bila dalam scanf() jumlah karakter data yang diinputkan boleh bebas, maka dalam getche() hanya sebuah karakter yang bisa diterima.
2. Bila scanf() membutuhkan tombol RETURN/ENTER untuk mengakhiri input, maka dalam getche() tidak membutuhkannya. Input dianggap selesai begitu kita memasukkan satu karakter dan secara otomatis akan melanjutkan ke baris perintah berikutnya.

getche() merupakan singkatan dari get character and echo yang artinya ‘menerima sebuah karakter kemudian     tampilkan’. Input yang diterima getche() akan disimpan ke dalam variabel karakter yang sebelumnya harus sudah dideklarasikan.

C.Fungsi getch(). 

Satu-satunya perbedaan antara getche() dan getch() adalah getche()akan menampilkan karakter yang kita ketikkan, sedangkan getch() tidak akan menampilkan, melainkan hanya menyimpannya dalam memori saja, jadi apa yang kita ketikkan tidak akan muncul dilayar sebelum kita memberikan perintah untuk mencetak nilai tersebut.

  • Fungsi getch() dan getche() digunakan untuk membaca data karakter.
  • Karakter yang dimasukkan tidak perlu diakhiri dengan penekanan tombol enter.
  • Tidak memberikan efek pergantian baris secara otomatis
  • Jika menggunakan fungsi getch() karakter yang dimasukkan tidak akan ditampilkan pada layar sehingga sering digunakan untuk meminta inputan berupa password.
    Sedangkan pada getche() karakter yang dimasukkan akan ditampilkan pada layar

20

  • Fungsi gets()
    1. Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat digunakan untuk memasukkan data numerik.
    2. Harus diakhiri dengan penekanan tombol enter
    3. .Cursor secara otomatis akan pindah baris
    4. Tidak memerlukan penentu format

21

  1. Fungsi cin

Menangani standard input pada C++ dengan menambahkan overloaded operator extraction (>>) pada cin stream. Harus diikuti bengan variable yang akan menyimpan data. Contoh       :

int umur;
cin >> umur;

Contoh diatas mendeklarasikan variabel age dengan tipe int dan menunggu input dari cin (keyborad) untuk disimpan di variabel umur.

cin akan memproses input dari keyboard sekali saja dan tombol ENTER harus ditekan.

Contoh :

22

Output :

23

 

cin juga dapat digunakan untuk lebih dari satu input    :

cin >> a >> b;

Equivalen dengan          :

cin >> a;
cin >> b;

Dalam hal ini data yang di input harus 2, satu untuk variabel a dan lainnya untuk variabel b yang penulisannya dipisahkan dengan :  spasi, tabular atau newline.

FLOWCHART

 

  • Pengenalan Flowchart

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung.

Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman.

Pengenalan Flowchart

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung.

Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman.

  • Jenis jenis Flowchart

Ada beberapa jenis flowchart diantaranya:

  1. Bagan alir sistem (systems flowchart).
  2. Bagan alir dokumen (document flowchart).
  3. Bagan alir skematik (schematic flowchart).
  4. Bagan alir program (program flowchart).
  5. Bagan alir proses (process flowchart).
  • System Flowchart

System flowchart dapat didefinisikan sebagai bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urut-urutan dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem.

  • Document Flowchart

Bagan alir dokumen  (document flowchart)  atau disebut juga bagan alir formulir  (form  flowchart)  atau  paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya.

  • Schematic Flowchart

Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar  ini  memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.

  • Program Flowchart

Bagan alir program  (program flowchart)  merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem.
Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program  (program logic flowchart)  dan bagan alir program komputer terinci  (detailed computer program flowchart).  Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika. Bagan alat- logika program ini dipersiapkan oleh analis sistem. Gambar berikut menunjukkan bagan alir logika program. Bagan alir program komputer terinci  (detailed computer program flow-chart) digunakan untuk menggambarkan instruksi-instruksi program komputer secara terinci. Bagan alir ini dipersiapkan oleh pemrogram.

  • Process Flowchart

Bagan alir proses  (process flowchart)  merupakan bagan alir yang banyak digunakan di teknik industri. Bagan alir ini juga berguna bagi analis sistem untuk menggambarkan proses dalam suatu prosedur.

  • Simbol-simbol flowchart

 

Flowchart disusun dengan simbol-simbol. Simbol ini dipakai sebagai alat bantu menggambarkan proses di dalam program. Simbol-simbol yang dipakai antara lain :

1

  • Flow Direction symbol

Yaitu simbol yang digunakan untuk menghubungkan antara simbol yang satu dengan simbol yang lain. Simbol ini disebut juga connecting line.

2

  • Terminator Symbol

Yaitu simbol untuk permulaan (start) atau akhir (stop) dari suatu kegiatan

3

  • Connector Symbol

Yaitu simbol untuk keluar – masuk atau penyambungan proses dalam lembar / halaman yang sama.

4

  • Connector Symbol

Yaitu simbol untuk keluar – masuk atau penyambungan proses pada lembar / halaman yang berbeda.

5

  • Processing Symbol

Simbol yang menunjukkan pengolahan yang dilakukan oleh komputer

6

  • Simbol Manual Operation

Simbol yang menunjukkan pengolahan yang tidak dilakukan oleh komputer

7

  • Simbol Decision

Simbol pemilihan proses berdasarkan kondisi yang ada.

8

  • Simbol Input-Output

Simbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya

9

  • Simbol Manual Input

Simbol untuk pemasukan data secara manual on-line keyboard

10

  • Simbol Preparation

Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage.

11

  • Simbol Predefine Proses

Simbol untuk pelaksanaan suatu bagian (sub-program)/prosedure

12

  • Simbol Display

Simbol yang menyatakan peralatan output yang digunakan yaitu layar, plotter, printer dan sebagainya.

  • Simbol disk and On-line Storage

Simbol yang menyatakan input yang berasal dari disk atau disimpan ke disk.

  • Kaidah-kaidah pembuatan Flowchart

Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan pemrogram lainnya.

Namun secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian utama, yaitu;

  1. Input berupa bahan mentah
  2. Proses pengolahan
  3. Output berupa bahan jadi.

Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk pemecahan suatu masalah, yaitu;

  • START: berisi instruksi untuk persiapan perlatan yang diperlukan sebelum menangani  pemecahan masalah.
  • READ:berisi instruksi untuk membaca data dari suatu peralatan input.
  • PROCESS:berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
  • WRITE:berisi instruksi untuk merekam hasil kegiatan ke perlatan output.
  • END: mengakhiri kegiatan pengolahan

13

Gambar berikut memperlihatkan flowchart dari kegiatan dasar diatas.

Dari gambar flowchart di atas terlihat bahwa suatu flowchart harus terdapat proses persiapan dan proses akhir. Dan yang menjadi topik dalam pembahasan ini adalah tahap proses. Karena kegiatan ini banyak mengandung variasi sesuai dengan kompleksitas masalah yang akan dipecahkan. Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran yaitu:

  • Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
  • Penggambaran flowchart yang simetris dengan arah yang jelas.
  • Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

sejarah bahasa c dan c++

  • Sejarah
  1. Sekilas Perkembangan Bahasa C

Bahasa C dikembangken di Bell lab pada tahun 1972 ditulis pertama kali oleh Brian W. Kernighan dan Denies M. Ricthie merupakan bahasa turunan atau pengembangan dari bahasa B yang ditulis oleh Ken Thompson pada tahun 1970 yang diturunkan oleh bahasa sebelumnya, yaitu BCL. Bahasa C, pada awalnya dirancang sebagai bahasa pemrograman yang dioperasikan pada sistem operasi UNIX. Bahasa C merupakan bahasa pemrograman tingkat menengah yaitu diantara bahasa tinggat rendah dan tingkat tinggi yang biasa disebut dengan Bahasa Tingkat Menengah. Bahasa C mempunyai banyak kemampuan yang sering digunakan diantaranya kemampuan untuk membuat perangkat lunak, misalnya dBASE, Word Star dan lain-lain.

  1. Sekilas Tentang C++

Pada tahun 1980 seorang ahli yang bernama Bjarne Stroustrup mengembangkan beberapa hal dari bahasa C yang dinamakan “C with Classes” yang pada mulanya disebut “a better C” dan berganti nama pada tahun 1983 menjadi C++ oleh Rick Mascitti, dibuat di Laboratorium Bell, AT&T. Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifatsifatnya yang disebut dengan Object Oriented Programming (OOP), yang mempunyai tujuan utamanya adalah membantu dan mengelola program yang besar dan kompleks.

  1. Perbedaan Antara Bahasa C Dengan C++

Bahasa C merupakan bahasa pemrograman prosedural, di mana penyelesaian atas suatu masalah dilakukan dengan membagi-bagi masalah tersebut ke dalam sub-sub masalah yang lebih kecil. Sedangkan C++ merupakan bahasa pemrograman yang memiliki sifat Object Oriented Programming (OOP). Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan mendefinisikan class-class yang merupakan a.-class yang dibuat sebelumnya sebagai abstraksi dari objek-objek fisik. Class tersebut berisi keadaan objek, anggota-anggotanya, dan kemampuan dari objeknya. Setelah beberapa class dibuat, masalah dipecahkan menggunakan class.

  1. Struktur Program C++

Struktur program C++, sama seperti struktur program C yang terdahulu.Struktur program C++ terdiri sejumlah blok fungsi, setiap fungsi terdiri dari satu atau beberapa pernyataan yang melaksanakan tugas tertentu.

  1. #include <file-header> merupakan preprocessor pada C++ untuk pemanggilan file
    header yang memuat beberapa perintah-perintah dari C++ (contoh, apabila ingin
    menggunakan perintah cout maka harus menggunakan file header iostream.h)
    2. main() merupakan awal mula dari blok program utama
    3. tanda { dan } sebagai punctuator yang awal blok program hingga akhir blok program
    4. cout merupakan perintah keluaran pada C++
    5. getch(); apabila ditempatkan sebelum funtuator }, maka berfungsi sebagai
    penahan dari tampilan hasil

Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer yang dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone Laboratories. Meskipun C dibuat untuk memprogram sistem dan jaringan komputer, namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi.

Bahasa pemrograman C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia. C secara luar biasa memengaruhi bahasa pemrograman populer lainnya, terutama Bahasa pemrograman C++ yang merupakan extensi dari C.

Perbedaan Bahasa C dengan C++

Bahasa pemrograman C dan C++ merupakan bahasa pemrograman tingkat tinggi. Bahasa C++ dicipitakan oleh Bjarne Stroustrup, ia menggunakan Bahasa pemrograman C sebagai dasar dari Bahasa pemrograman C++. Maka bisa dilihat bahwa Bahasa pemrograman C++ dengan Bahasa pemrograman C merupakan satu garis keturunan. Perbedaan dari kedua bahasa tersebut bisa dilihat dari kasat mata dalam struktur pemrogramannya.

C++ pada awalnya disebut sebagai “C dengan Kelas” (C With Classes) dan diciptakan untuk memiliki fitur pemrograman berorientasi objek. Karena C++ berdasarkan dari Bahasa pemrograman C, maka kebanyakan kode C bisa dirakit di kompilator C++ dengan mudah.

Perbedaan kecil contohnya kata “new” dan “delete” yang terdapat di kode C tidak bisa dirakit di C++ karena kata-kata ini adalah kata dipesan C++. Pustaka C biasanya bisa diimpor ke pustaka C++, tapi karena kompilator C dan C++ memiliki “name mangling” yang berbeda, maka perubahan kecil di kode C perlu dilakukan.

Perbedaan antara bahasa C dan C++ juga dapat kita lihat pada beberapa hal berikut ini :

Tipe Data Karakter

Pada bahasa pemrograman C++, bool dapat berisi true ataupun false, mirip Pascal. Sedangkan pada bahasa pemrograman C tidak ada type boolean. Sebagai gantinya, type bilangan bulat apapun bisa dipakai sebagai ganti boolean dengan aturan false adalah 0 dan true adalah angka selain 0.

Tipe Data String

Pada bahasa pemrograman C, tidak ada type data khusus string, sehingga string didefinisikan sebagai array of char. Sedangkan pada bahasa pemrograman C++, untuk menggunakan type string harus ada #include di awal program harus menggunakan std::string.

Tipe data struct (record)

Misal deklarasi variabel siswa ichand; maka akses ke elemennya menggunakan titik ‘.

contoh : ichand.nama , ichand.kelas

Tipe data enumerasi

Jadi format typedef enum {} ;

Untuk contoh :

‘hari (dalam minggu)’, pada C dan C++ ‘senin’ akan bernilai 0, ‘selasa’=1, ‘rabu’=2 dst

Jika ditulis :

typedef enum{‘senin’ = 3, ‘selasa’ = 7, ‘rabu’, ‘kamis’=9, ‘jumat’=10, ‘sabtu’ = 20;} hari;

Maka senin bernilai 3, selasa=7, rabu=8, kamis=9, jumat=10, sabtu=20.

Jika nilai pada elemen tersebut tidak didefinisikan, akan dianggap +1 dari elemen sebelumnya.

Input

Pada bahasa pemrograman C perlu #include di awal program dan output menggunakan fungsi printf (print formatted), Formatnya: printf(“”,[, ,…]);
Jadi, bentuk dari keluaran dituliskan dulu formatnya sebagai parameter pertama printf dalam bentuk string (diapit oleh petik), yang membedakan text biasa dengan format variabel adalah tanda %.
Pada bahasa pemrograman C, input menggunakan scanf (scan formatted). Format yang digunakan hampir sama dengan printf, namun setelah string format, yang diisi bukan nama variabel, melainkan pointer dari array tersebut. Maka dalam memasukkan nilai desimal (%f) kedalam variabel f digunakan pointer f (&f).
Pada bahasa pemrograman C++, perlu #include di awal program dan input menggunakan std::cin.

Penggunaan

Bahasa pemrograman C merupakan bahasa pemrograman terstruktur yang mempunyai tujuan untuk mempermudah pembuatan & pengembangan program.
Bahasa pemrograman C++ merupakan bahasa yang berorientasi obyek (OOP) yang mempunyai tujuan untuk meningkatkan produktivitas lebih.

File Header

Dalam Bahasa pemrograman C, file header yang digunakan adalah stdio.h.
Dalam Bahasa pemrograman C++, file header yang digunakan adalah iostream.h. Terkadang juga memakai conio, stdio, dll. Tetapi iostream wajib digunakan dalam file header nya.

Cout & Printf

Dalam Bahasa pemrograman C, penggunaan untuk fungsi output digunakan printf (print formatted).
Dalam Bahasa pemrograman C++, penggunaan untuk fungsi output digunakan perintah cout.

Cin & Scanf

Dalam Bahasa pemrograman C, untuk pengambilan karakter melalui keyboard mengunakan scanf.
Dalam Bahasa pemrograman C++, untuk pengambilan karakter melalui keyboard menggunakan Cin.

Prosedural vs OOP

Bahasa pemrograman C dan C++ berbeda dalam paradigma pemrograman. Bahasa C lebih mengarah ke prosedural murni, sedangkan C++ adalah semi-prosedural. Kekuatan utama C++ adalah pada Object Oriented Programming atau Pemrograman Berorientasi Objek. Dalam prosedural, masalah dipecah menjadi bagian-bagian yang kecil kemudian dicari solusi penyelesaian tepat untuk masalah tersebut. Dalam konsep OOP, setiap masalah adalah objek yang memiliki karakteristik tertentu.

Malloc vs new

Berbicara mengenai pointer dan data maka kita tidak akan lepas dari alokasi memori dan dealokasi tentunya. Dalam Bahasa pemrograman C tidak terdapat kata kunci khusus untuk melakukannya. Untuk memesan alamat memori di heap kita menggunakan fungsi malloc(). Sedangkan dalam Bahasa pemrograman C++ disediakan kata kunci new untuk melakukan kegiatan serupa. Keuntungannya dengan adanya kata kunci new untuk alokasi memori sebagai perintah built-in dapat mengefisienkan kerja kita.

Template

Ini dia salah satu kelebihan C++ dibanding banyak bahasa pemrograman lain. Template adalah sistem overload otomatis terhadap fungsi-fungsi yang kita definisikan, dengan template kita bisa membuat fungsi generic (fungsi umum) yang dapat dipakai untuk berbagai tipe data. Jadi kita hanya perlu membuat 1 fungsi untuk semua.

Exception handling

C++ adalah bahasa pemrograman pertama yang menggunakan sistem exception handling. Exception handling adalah teknik menjebak error atau penanganan kesalahan. Jika kita menulis kode dalam bahasa C, kita akan dipusingkan jika terjadi error dalam kode kita. Cara lama yang dipakai adalah menelusuri alur program dan menguji satu per satu fungsi yang ada dan diperkirakan menyebabkan error. Dalam C++, manakala terjadi error program akan menghentikan proses dan mencari penanganan kesalahan yang tepat sesuai kesalahan yang terjadi.

STL

Satu yang ada di C++ adalah library khusus bernama STL. STL adalah kumpulan fungsi-fungsi dan data-data khusus yang banyak digunakan untuk struktur data. Misalkan queue, vector, map, tree dll yang banyak digunakan dalam struktur data. Dengan STL kita tidak perlu mendefinisikan sendiri struktur data sendiri karena struktur-struktur data tersebut telah disediakan oleh C++. STL Merupakan singkatan dari Standard Template Library. Sesuai namanya, class dalam STL merupakan template sehingga dapat digunakan untuk berbagai macam tipe data.