Kontrak Perkuliahan & Project · 2017. 5. 24. · 1.1 Sejarah Perkembangan Bahasa C Bahasa C...

Post on 08-Nov-2020

5 views 0 download

Transcript of Kontrak Perkuliahan & Project · 2017. 5. 24. · 1.1 Sejarah Perkembangan Bahasa C Bahasa C...

1.1 Sejarah Perkembangan Bahasa C

Bahasa C Penemu: Brian W. Kernighan

dan Denies M. Ricthie 1972 di

Daerah Bell

Pengembangan

Bahasa B

Penemu: Ken Thompson

(1970)

Pertama kali: dioperasikan

pada sistem operasi UNIX.

Bahasa pemrograman tingkat

menengah atau Bahasa Tingkat

Menengah

Kemampuannya: misalnya

dBASE, Word Star dan lain-lain

1.2 Sekilas Tentang Bahasa C++

Bahasa C

Menjadi:

C with Classes

Tahun 1980 Oleh seorang ahli

bernama Bjarne Stroustrup

Menjadi:

C++ Tahun 1983 Oleh oleh

Rick Mascitti

Dibuat di Laboratorium

Bell, AT&T.

Penamabahan Konsep2 baru class dengan

sifat-sifatnya yang disebut dengan Object

Oriented Programming (OOP),

Tujuan utama: membantu dan mengelola

program yang besar dan kompleks.

1.3 Perbedaan C dan C++

Bahasa pemrograman prosedural

Bahasa pemrograman yang memiliki sifat Object Oriented

Programming (OOP)

2. Pengenalan IDE (Integrated Development Environment) C++

Menulis Naskah Program

Mengkompilasi Program (Compile)

Melakukan Pengujian Program (Debugging)

Mengaitkan Object dan Library ke Program (Linking)

Menjalankan Program (Running)

IDE

TERBAGI 4

A. Baris Menu ( Menu Bar )

B. Baris Peralatan (Tools Bar)

C. Jendela Editor

D. Jendela Message

E. Baris Status (Status Bar)

3. Pengenalan Struktur program C++

[Kristanto:2009] Salah satu konsep yang penting dalam bahasa pemrograman C++ adalah Struktur. Struktur merupakan bentuk susunan dari suatu program yang dibuat. Perhatikan contoh program berikut ini: Contoh: /*contoh program sederhana dengan C++*/ #include <stdio.h> main() { printf(“Belajar Bahasa C++”); }

Komentar program praprosesor nama dari fungsi,awal dari fungsi, blok fungsi, akhir dari fungsi

Satu jenis pengarah praprosesor yang dipakai untuk membaca file yang dinamakan file judul (header file)

Bagian pernyataan / perintah program

Borland C++ memiliki 7 tipe data dasar dan 3 tipe tambahan,

diantaranya:

Tipe

Data

Ukuran

Memori Jangkauan Nilai

Jumlah

Digit

Char 1 Byte -128 s.d 127

Int 2 Byte -32768 s.d 32767

Short 2 Byte -32768 s.d 32767

Long 4 Byte -2,147,435,648 s.d 2,147,435,647

Float 4 Byte 3.4 x 10-38 s.d 3.4 x 10+38 5 – 7

Double 8 Byte 1.7 x 10-308 s.d 1.7 x 10+308 15 – 16

Long

Double 10 Byte 3.4 x 10-4932 s.d 1.1 x 10+4932 19

Tipe Data Tambahan, yang dimiliki oleh Borland C++, adalah :

Unsigned digunakan bila data yang digunakan hanya data yang positif

saja.

Tipe

Data

Jumlah

Memori Jangkauan Nilai

Unsigned Integer 2 Byte 0 – 65535

Unsigned Character 1 Byte 0 – 255

Unsigned Long Integer 4 Byte 0 – 4,294,967,295

[Kristanto:2009] pengertian deklarasi adalah memesan memori dan

menentukan jenis data yang dapat disimpan didalamnya.

Bentuk Umum:

Pada pendeklarasian variabel, daftar variabel dapat berupa sebuah

variabel atau beberapa variabel yang dipisahkan dengan tanda

koma.

Contoh:

int jumlah;

float harga_per_satuan, total_harga;

untuk memberikan nilai ke suatu variabel yang telah dideklarasikan,

bentuk pernyataan yang digunakan adalah sebagai beriut:

nama_variabel = nilai;

Contoh berikut merupakan nilai 50 ke variabel jumlah dan 15,7 ke variabel

harga_per_satuan.

Jumlah=50;

harga_per_satuan=15.7;

Total_harga= jumlah * harga_per_satuan;

Contoh program:

#include <stdio.h>

main()

{

int jumlah;

float harga_per_satuan, harga_total;

Jumlah=50;

Harga_per_satuan=15.7;

harga_total= jumlah * harga_per_satuan;

Printf(“Harga Total= %f \n “, harga_total);

}

konstanta menyatakan nilai numeris atau karakter yang tetap. Turbo C++ mendukung empat kelas konstanta:

perintah ini digunakan untuk memasukan berbagai jenis data kedalam program lewat keyboard dan dapat digunakan fungsi pustaka scanf, getch maupun getche dan cin.

Bentuk Umum:

scanf(“string kontrol”, daftar argumen);

String kontrol dapat berupa:

a. Penentu format

b. Karakter spasi putih

c. Karakter bukan spasi putih

Contoh:

/*---------------------------------------------------------------*/

/*Program: Scanf.cpp */

/*---------------------------------------------------------------*/

#include <stdio.h>

main()

{

int nilai, tugas;

printf(“Masukan sebuah nilai: “); scanf(“%d”,&nilai);

printf(“Masukan nilai tugas: “); scanf(“%d”,&tugas);

}

Keterangan:

Dari contoh diatas dapat dilihat bahwa untuk memasukan variabel

nilai dan variabel tugas ke dalam program menggunakan fungsi

pustaka scanf dan semuanya itu di masukan melalui keyboard

digunakan untuk membaca sebuah karakter tanpa diakhiri enter. Pada getch

ini, karakter yang dimasukan tidak ditampilkan dilayar.

Contoh:

# include <stdio.h>

# include <conio.h>

main( )

{

char kar;

clrscr( );

printf("Masukan Sebuah Karakter Bebas = ");

kar = getch( );

printf("\nTadi Anda Memasukan karakter %c", kar);

getch( );

}

Digunakan untuk membaca sebuah karakter tanpa diakhiri enter. Pada

getche ini, karakter yang dimasukan akan ditampilkan dilayar.

Contoh:

# include <stdio.h>

# include <conio.h>

main( )

{

char kar;

clrscr( );

printf("Masukan Sebuah Karakter Bebas = ");

kar = getche( );

printf("\nTadi Anda Memasukan karakter %c", kar);

getch ( );

}

Fungsi pustaka cin ini berpasangan fungsi pustaka cout. Dimana

fungsinya adalah untuk memasukan nilai variabel ke dalam program

melalui keyboard.

Contoh: # include <stdio.h>

# include <conio.h>

# include <iostream.h>

main( )

{

int nilai1,nilai2, total;

clrscr( );

cout<<"Masukan Nilai 1 : ";

cin>>nilai1;

cout<<"Masukan Nilai 2 : ";

cin>>nilai2;

total=nilai1+nilai2;

cout<<"Masukan Total Nilai : "<<total<<endl;

getch( );

}

Digunakan untuk menampilkan hasil yang terformat

dengan menggunakan format spesification. Tabelnya

adalah sebagai berikut:

TIPE DATA

Penentu Format Untuk

printf( )

Integer %d

Floating Point

Bentuk Desimal %f

Bentuk Berpangkat %e

Bentuk Desimal dan Pangkat %g

Double Precision %lf

Character %c

String %s

Unsigned Integer %u

Long Integer %ld

Long Unsigned Integer %lu

Unsigned Hexadecimal Integer %x

Unsigned Octal Integer %o

Contoh:

#include <stdio.h>

#include <conio.h>

#include<iostream.h>

main( )

{

char nama =”dita”;

int nilai = 100;

clrscr( );

printf(“hai %s, Kamu mendapatkan Nilai %i” , nama, nilai);

}

Output :

hai dita, Kamu mendapatkan Nilai 100

Fungsi ini hanya digunakan untuk menampilkan nilai

string dan sudah mengandung line feed/ Pindah baris

otomatis.

Contoh:

/*-------------------------------------------------------------*/

/*Nama Program: puts.cpp */

/*-------------------------------------------------------------*/

# include <stdio.h>

# include <conio.h>

main( )

{

puts(“RIANI”);

getch( );

}

Fungsi ini untuk manampilkan hasil dapat digunakan

fungsi pustaka putchar. Fungsi pustaka ini hanya

digunakan untuk menampilkan nilai karakter dan tidak

mengandung line feed.

Contoh: # include <stdio.h>

# include <conio.h>

main( )

{

putchar(‘b’);

putchar(‘s’);

putchar(‘i’);

getch( );

}

untuk menampilkan hasil dapat digunakan fungsi pustaka cout. Fungsi

pustaka ini bentuknya agak sedikit berbeda dengan bentuk pustaka output

lainnya.

Perbedaannya terletak pada:

1. Praprosesor

2. Ganti Baris

Kalau fungsi pustaka printf, putchar maupun puts preprocesornya

menggunakan #include <stdio.h>, sedangkan fungsi pustaka cout

preprocesornya menggunakan #include <iostream.h>

Kalau fungsi pustaka printf ganti baris menggunakan \n, sedangkan

fungsi pustaka cout ganti baris menggunakan perintah endl

1. Buatlah program untuk menghitung luas dan keliling suatu empat

persegi panjang, dimana panjang dan lebar dimasukan melalui

scanf????

2. Buatlah program untuk menghitung luas dan volume suatu balok,

dimana panjang dan lebar serta tinggi dimasukan melalui cin???

3. Dewi membeli buah jeruk sebanyak 9,5 kg. Harga per kg-nya

adalah Rp 4.500, buatlah program untuk menghitung harga jeruk

yang dibeli Dewi.

Operator merupakan simbol atau kata yang dapat digunakan dalam program

untuk melakukan suatu operasi atau manipulasi, seperti menjumlahkan dua

buah nilai, memberikan nilai kesuatu variabel, membandingkan dua buah

nilai dan lain sebagainya.

Tanda operator dalam bahasa C++ dapat dikelompokan sebagai berikut:

1. Operator pengerjaan (assignment operators)

2. Operator aritmetika (arithmatic operators)

3. Operator peningkatan dan penurunan (increament and decrement

operators)

4. Operator bitwise (bitwise operators)

5. Operator hubungan (relational operators)

6. Operator logika (logical operators)

7. Operator alamat (address operators)

8. Operator koma (comma operators)

9. Operator gabungan

Operator untuk operasi aritmatika yang tergolong sebagai operator

binary adalah:

Operator Keterangan Contoh

* Perkalian 4 * 5

/ Pembagian 8 / 2

% Sisa Pembagian (mod) 5 % 2

+ Penjumlahan 7 + 2

− Pengurangan 6 − 2

Operator yang tergolong sebagai operator Unary, adalah:

Operator Keterangan Contoh

+ Tanda Plus −4

− Tanda Minus +6

#include <stdio.h> #include <conio.h> #include <iostream.h> main( ) { int x,y, a=0, b=0, c = 0, d = 0; clrscr( ); cout<<"Masukan Nilai A : "; cin>>x; cout<<"Masukan Nilai B : "; cin>>y; a=x+y; c = x% y; b=x-y; d = x * y; printf(“Hasil Dari A= X + Y= %i \n” , a); printf(“Hasil Dari B=X - Y= %i \n”,b) cout<<" Hasil dari C = X % Y = "<<c<<endl; cout<<" Hasil dari D = X * Y = "<<d<<endl; getch( ); }

Contoh:

Bentuk penulisan ekspresi

aritmatika dikaitkan dengan

pernyataan pemberi nilai.

Bentuk Umum :

• Variabel, dikenal dengan

sebutan LValue (Left Value)

• Ekspresi Aritmatika dikenal

dengan sebutan RValue

(Right Value)

• Tanda “ = “, dikenal dengan

sebagai Operator Pemberi

Nilai (Assignment Operator).

Operator Keterangan

++ Penambahan

-- Pengurangan

Tabel Operator Penambah & Pengurang

A = A + 1 atau A = A - 1

A ++ atau A--

Keterangan :

1. Penambahan: menambahkan 1 ke nilai

variable, prefix (++A) atau postfix (A ++)

2. Pengurangan: mengurangkan 1 ke nilai

variabel, prefix (--A) atau postfix (A --)

Contoh Penggunaan Notasi

Didepan Variabel:

/* Penggunaan Notasi Didepan Variabel*/

#include <stdio.h>

#include <conio.h>

main( )

{

int a = 10, b = 5;

clrscr( );

printf("Nilai A = %d", a);

printf("\nNilai ++A = %d", ++a);

printf("\nNilai B = %d", b);

printf("\nNilai --B = %d", --b);

getch( );

}

/* Penggunaan Notasi Dibelakang

Variabel*/

#include<stdio.h>

#include<conio.h>

#include<iostream.h>

main( )

{

int a = 10, b = 5;

clrscr( );

printf("Nilai A = %d", a);

printf("\nNilai ++A = %d", a++);

printf("\nNilai A = %d", a);

printf("\nNilai B = %d", b);

printf("\nNilai --B = %d", b--);

printf("\nNilai B = %d", b);

getch( );

}

Contoh Penggunaan Notasi

Dibelakang Variabel:

Operator Relasi digunakan untuk membandingkan dua buah nilai. Hasil

perbandingan operator ini menghasilkan nilai numerik 1 (True) atau 0

(False).

Operator Keterangan

= = Sama Dengan ( bukan pemberi nilai )

!= Tidak Sama dengan

> Lebih Dari

< Kurang Dari

>= Lebih Dari sama dengan

<= Kurang Dari sama dengan

Contoh:

Digunakan untuk mengekspresikan satu atau lebih data atau ekspresi

logika (boolean), menghasilkan data logika (boolean) baru.

Operator Keterangan

&& Operator Logika AND

| | Operator Logika OR

! Operator Logika NOT

Operator logika AND digunakan untuk menghubungkan dua atau

lebih ekspresi relasi, akan dianggap BENAR, bila semua

ekspresi relasi yang dihubungkan bernilai BENAR.

Operator logika OR digunakan untuk menghubungkan dua atau

lebih ekspresi relasi, akan dianggap BENAR, bila salah satu

ekspresi relasi yang dihubungkan bernilai BENAR dan bila semua

ekspresi relasi yang dihubungkan bernilai SALAH, maka akan

bernilai SALAH.

Operator logika NOT akan memberikan nilai kebalikkan dari ekspresi

yang disebutkan. Jika nilai yang disebutkan bernilai BENAR maka

akan menghasilkan nilai SALAH, begitu pula sebaliknya.

A B Not A Not B

T F F T

F T T F

T F F T

Operator logika Xor akan menghasilkan nilai True jika ekspresi di

sebelah kiri Xor berbeda dengan ekspresi di sebelah kanannya.

Jadi, operator logika Xor dapat diartikan "jika beda" akan bernilai

True

A B A Xor B

T T F

F F F

T F T

String merupakan bentuk data yang biasa dipakai dalam

pemrograman guna menampung dan memanipulasi data teks.

Contoh program string:

/*program string*/

#include <stdio.h>

#include <conio.h>

main()

{

char nama[20];

printf(“Masukan Nama Anda:”);gets(nama);

printf(“Nama Anda Adalah: %s \n”,nama);

getch();

}

fungsi ini dipakai untuk menyalin string asal ke variabel string tujuan,

variabel tujuan harus memiliki ukuran yang dapat menampung

seluruh karakter string asal.

Bentuk Umum:

strcpy(tujuan,asal);

Contoh:

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <iostream.h>

main( )

{

char huruf[20];

char pindah[20];

clrscr( );

cout<<"Masukkan Sembarang Kata = ";

gets(huruf);

/* Proses */

strcpy(pindah, huruf);

cout<<"Pemindahannya = "<<pindah;

getch( );

}

fungsi ini dipakai untuk menghitung jumlah karakter argumennya.

Bentuk Umum:

strlen(str);

Contoh:

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <iostream.h>

main( )

{

char huruf[20];

char pindah[20];

clrscr( );

cout<<"Masukkan Sembarang Kata = ";

gets(huruf);

cout<<"Panjang Kata Yang Diinputkan = ";

cout<<strlen(huruf);

getch( );

}

fungsi ini dipakai untuk membandingkan string str1 dengan string str2. Hasil

dari fungsi ini bertipe int berupa nilai negatif (str1 kurang dari str2),

nol(str1=str2), positif(str1 lebih dari str2).

Bentuk Umum:

var_int = strcmp(str1, str2);

Contoh:

#include <string.h>

#include <iostream.h>

#include <conio.h>

main( )

{

char a1[ ] = "BSI";

char a2[ ] = "Bsi";

char b1[ ] = "BSI";

clrscr( );

cout<<"Hasil Perbandingan "<<a1<<" dan

"<<a2<<"->";

cout<<strcmp(a1,a2)<<endl;

cout<<"Hasil Perbandingan "<<a2<<" dan

"<<a2<<"->";

cout<<strcmp(a2,a1) <<endl;

cout<<"Hasil Perbandingan "<<a1<<" dan

"<<b1<<"->";

cout<<strcmp(a1,b1) <<endl;

getch( );

}

1. Buatlah Source Code dari tampilan dibawah ini:

2. Buatlah Source Code dari tampilan dibawah ini, dimana nilai “m” ditentukan sendiri oleh mahasiswa

3. Buatlah program untuk menghitung panjang kata berikut ini:

Akademi Manajemen Informatika dan Komputer Bina Sarana

Informatika

4. Bulatlah program untuk menggabungkan dua buah string

Kalimat1 = Manajemen

Kalimat2 = Informatika

Menjadi seperti berikut:

ManajemenInformatika

perintah if berguna untuk memilih satu dari 2 atau lebih

alternatif jawaban yang tersedia. Jika perintah if

tersebut terdiri dari 2 atau lebih pernyataan.

Bentuk Umum:

if (kondisi)

{ pernyataan }

Contoh:

If(nilai_beli>10000)

{

discount=(10/100)*nilai_beli;

strcpy(bonus,“Payung”);

}

Arti dari source code disamping

adalah jika nilai pembelian lebih dari

10000 maka akan mendapat

discount 10%. Selain itu juga akan

mendapatkan bonus payung.

Bentuk Umum: if(kondisi) pernyataan1 else pernyataan2

#include <stdio.h>

#include <conio.h>

main()

{

int nilai,tugas;

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

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

if(nilai>70)

printf(“Lulus \n”);

else

printf(“Tidak Lulus \n”);

getch();

}

Contoh:

Bentuk Umum:

if (kondisi)

{

perintah-1;

...

}

else if

{

perintah-2;

...

}

.

.. Sampai kondisi ke –n

else

{ perintah default ; }

#include <stdio.h>

#include <conio.h>

#include <iostream.h>

main( )

{

char gol, jab[10];

long gapok=0;

clrscr( );

cout<<endl<<" Data Jabatan"<<endl

<<" = = = = = = = = = = = = = = = ="<<endl;

cout<<" Masukan Golongan [1/2]: ";

cin>>gol;

Contoh:

// proses seleksi kondisi

if(gol=='1')

{ strcpy(jab,"Direktur");

gapok=5000000;

}

else if(gol=='2')

{ strcpy(jab,"Manajer");

gapok=4000000;

}

else

{ cout<<" salah kode golongan“ <<endl; }

// output datanya

cout<<" Jabatan = "<<jab<<endl;

cout<<" Gaji Pokok = "<<gapok<<endl;

getch ( );

}

Lanjutan :

Perintah if dalam if sering disebut nested-if. Perintah ini

mempunyai bentuk umum sebagai berikut:

Else

{

if(kondisi2)

{

pernyataan1;

}

else

{

pernyataan2;

}

}

Bentuk Umum :

If(kondisi1)

{

if(kondisi2)

{

pernyataan1;

}

else

{

pernyataan2;

}

}

Contoh: #include<stdio.h>

#include<conio.h>

#include<iostream.h>

main( )

{

char kode,ukuran,merk[15];

long harga=0;

clrscr( );

cout<<"Kode Baju : ";cin>>kode;

cout<<"Ukuran : ";cin>>ukuran;

if (kode=='1')

{

strcpy(merk,"H & R");

if (ukuran=='S' || ukuran =='s')

harga=45000;

else

harga=60000;

}

else if (kode=='2')

{

strcpy(merk," Adidas");

if (ukuran=='S' || ukuran == 's')

harga=65000;

else

harga=75000;

}

else

cout<<”Salah Kode Baju”<<endl;

cout<<"------------------------"<<endl;

cout<<"Merk Baju : "<<merk<<endl;

cout<<"Harga Baju : "<<harga<<endl;

getch();

}

1. Buatlah program dengan tampilan sebagai berikut:

Input:

Output:

Kode

Pesawat

Nama

Pesawat

Kelas

Pesawat

Harga Tiket Pesawat

MPT Merpati 1 Rp 1.500.000

2 Rp 900.000

3 Rp 500.000

GRD Garuda 1 Rp 1.200.000

2 Rp 800.000

3 Rp 400.000

BTV Batavia 1 Rp 1.000.000

2 Rp 700.000

3 Rp 300.000

total Bayar=harga*jumlah;

Ketentuan Soal

perintah ini merupakan pernyataan yang dirancang untuk

menangani pengambilan keputusan yang melibatkan sejumlah

pilihan alternatif yang diantaranya untuk menggantikan pernyataan

if bertingkat.

Bentuk Umum: switch (ekspresi integer atau karakter )

{

case konstanta-1 :

… perintah;

… perintah;

break;

case konstanta-2 :

… perintah;

… perintah;

break;

default :

… perintah;

… perintah;

}

#include <stdio.h>

#include <conio.h>

#include <iostream.h>

main()

{

char kode,lagi;

atas:

clrscr();

cout<<“INPUT KODE BARANG [A..C]: ";

kode = getche();

cout<<'\n';

switch (kode)

{

case 'A':

case 'a':

cout<<"Alat Olah Raga";

break;

case 'B':

case 'b':

cout<<"Alat Elektronik";

break;

case 'C':

case 'c':

cout<<"Alat Masak";

break;

default:

cout<<"Anda Salah

Memasukan Kode";

}

cout<<'\n';

cout<<"\nIngin Pilih Lagi [Y/T]: ";

lagi = getche();

if(lagi == 'Y' | | lagi =='y')

goto atas;

getch();

}

contoh

1. Buatlah Program dengan tampilan sebagai berikut

Masukkan Kode Buku [1|2|3] : <input>

Jumlah Pembelian Buku Anda : <input>

**** TOKO BUKU HALIFI***

JL. Keadilan No. 16

---------------------------------------------------------------------------

Nama Buku : <nama buku>

Harga Buku : <harga buku>

Potongan : <potongan>

Bonus : <bonus>

Total Bayar : <total bayar>

PPN : <ppn>

---------------------------------------------------------------------------

**** T E R I M A K A S I H***

Apa mau Input data lagi ????

Ketentuan Soal :

1. Untuk BUKU :

• Jika kode buku 1 maka nama buku = “ Sukses Belajar

Borland C++”, harga = 50000.

• Jika Kode buku 2 maka nama buku = ” Kunci Pribadi Yang

Sukses ”, harga = 35000.

• Jika kode buku 3 nama buku = ” Mencari Mutiara Di Dasar

Hati ”, harga = 45000.

2. Akan Mendapat potongan 10% jika Jumlah pembelian lebih dari

5 buku, dan mendapat bonus ” Note Book”, tetapi jika pembelian

kurang dari 5 maka tidak dapat potongan serta akan

tampil pesan ”Maaf Tidak Dapat Bonus”.

3. Semua Pembelian akan dikenakan PPN Sebesar 10% dari

Total Pembelian.

4. Gunakan Switch-Case dan IF-else.

2. Buatlah Program dengan tampilan sebagai berikut

DAFTAR PEMESANAN TIKET KERETA

*********************************************

Nama Pemesan : <input>

Nama Kereta : <output>

Kelas Kereta : <output>

Harga Per Tiket : <output>

Jumlah Pemesanan Tiket : <input>

Biaya Tambahan Fasilitas : <output>

Pembayaran : <output>

Discount : <output>

*********************************************

Total Pembayaran : <output>

Uang Bayar : <input>

Uang Kembali : <output>

*********************************************

Mau Input Data Lagi [Y / T] ?? : <input>

Inpu

t

Output

3. Buatlah Program dengan tampilan sebagai berikut

Layar Input

PENGINAPAN PASTI BETAH

**************************

Nama Penyewa : <input>

Kode Kamar [A/B/M] : <input>

Input

PENGINAPAN PASTI BETAH

Nama Penyewa : <output>

Kode Kamar [A/B/M] : <output>

lama Menginap : <input>

******************************

Tipe Kamar : <output>

lama Menginap : <input> hari

Souvenir : <output>

Biaya Sewa : <output>

Total Biaya Sewa : <output>

******************************

Uang Bayar : <input>

Uang Kembali : <output>

Ingin Input Lagi [Y/T] = <input>

Output

Hasil Akhir

Kode Kamar Tipe Kamar Harga Sewa Per Malam

A Anggrek 300000

B Bougenville 250000

M Mawar 200000

Ketentuan Soal

•Kode kamar dapat diinput dengan huruf besar ataupun kecil

•Jika salah memasukan kode kamar maka akan muncul pesan ” Kode kamar

yang anda masukan salah”, ”Ingin input lagi [ Y / T ] ?”

Pilih ’Y’ berarti mulai menginput lagi dari awal, Pilih ’T’ berarti keluar

dari program

•Untuk penyewaan kamar lebih dari atau sama dengan 1 minggu maka akan

mendapat souvenir ”Payung Cantik”, selain itu tidak dapat souvenir

•Semua biaya sewa penginapan ditambah dengan biaya administrasi sebesar

200000

•Pada akhir tampilan terdapat pesan “Mau Input Data Lagi [Y / T] ??”

Pilih ’Y’ berarti mulai menginput lagi dari awal, Pilih ’T’ berarti keluar

dari program

proses looping yang menggunakan perhitungan (counter) yang

sudah pasti (misalnya variabel k=1,2,...,n; j=m, m-1,...,5; dan

sebagainya) dapat dibuat menggunakan pernyataan for.

Bentuk Umum:

for ( inisialisasi; syarat perulangan; pengubah nilai pencacah )

{

pernyataan / perintah;

pernyataan / perintah;

pernyataan / perintah;

}

Kegunaan dari masing-masing argumen for diatas adalah :

• Inisialisasi; merupakan bagian untuk memberikan nilai awal

untuk variabel-variabel tertentu.

• Syarat Perulangan; memegang kontrol terhadap perulangan,

karena bagian ini yang akan menentukan suatu perulangan

diteruskan atau dihentikan.

• Pengubah Nilai Pencacah; mengatur kenaikan atau

penurunan nilai pencacah.

Contoh:

/* --------------------------- */

/* Program for - bilangan naik */

/* --------------------------- */

#include<stdio.h>

#include<conio.h>

#include<iostream.h>

main( )

{

int a;

clrscr( );

for(a = 1; a <= 10; ++a)

cout>>a;

getch( );

}

Pernyataaan Nested for adalah suatu perulangan for

didalam perulangan for yang lainnya. Bentuk umum

pernyataan Nested for sebagai berikut :

for (inisialisasi;syarat pengulangan;pengubah nilai pencacah )

{

for (inisialisasi;syarat pengulangan;pengubah nilai pencacah)

{

pernyataan / perintah;

}

}

#include<stdio.h>

#include<conio.h>

main( )

{

int a, b;

clrscr( );

for(a = 1; a <= 5; a++)

{

printf("\n");

for(b = a; b <= 5; b++)

printf(" %d ",a);

}

getch();

}

Contoh

Pernyataan goto merupakan instruksi untuk mengarahkan

eksekusi program ke-pernyataan yang diawali dengan suatu label.

Label merupakan suatu pengenal (identifier) yang diikuti dengan

tanda titik dua ( : ). Bentuk pemakaian goto sebagai berikut:

Contoh:

#include<iostream.h>

#include<stdio.h>

#include<conio.h>

main( )

{

int a, b;

char lagi;

atas:

clrscr( );

cout>>"Masukkan Bilangan = ";

cin<<a;

b = a % 2;

printf("Nilai %d %% 2 adalah = %d",a, b);

printf("\n\nIngin Hitung Lagi [Y/T] : ");

lagi = getche() ;

if (lagi == 'Y' || lagi == 'y')

goto atas;

getch( );

}

Pernyataan perulangan while merupakan instruksi perulangan

yang mirip dengan perulangan for. Bentuk perulangan while

dikendalikan oleh syarat tertentu, yaitu perulangan akan terus

dilaksanakan selama syarat tersebut terpenuhi.

Bentuk umum perulangan while, sebagai berikut:

Perintah While

while ( syarat )

{

Pernyataan / perintah ;

Pernyataan / perintah ;

}

#include <stdio.h>

#include <conio.h>

main( )

{

int bil=1;

clrscr( );

while(bil<=10)

{

printf(" %d ",bil);

++bil;

}

getch( );

}

Contoh :

Pernyataan perulangan do - while merupakan bentuk perulangan yang

melaksanakan perulangan terlebih dahulu dan pengujian perulangan

dilakukan dibelakang.

Bentuk umum perulangan do - while, sebagai berikut :

do

{

Pernyataan / perintah ;

Pernyataan / perintah ;

}

while ( syarat );

#include <stdio.h>

#include <conio.h>

main( )

{

int bil=2;

clrscr( );

do

{

printf(" %d ",bil);

bil+=2;

}

while(bil<=10);

getch( );

}

Contoh

1. Bulatlah program untuk menghitung 10 deret bilangan genap dengan hasilnya : 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 = 110

2. Bulatlah program untuk menghitung penjumlahan deret bilangan genap membentuk segitiga siku dengan hasilnya : 2 = 2 2 + 4 = 6 2 + 4 + 6 = 12 2 + 4 + 6 + 8 = 20 2 + 4 + 6 + 8 + 10 = 30

3. Bulatlah program untuk menghitung perkalian deret bilangan ganjil membentuk segitiga siku dengan hasilnya : 1 = 1 1 * 3 = 3 1 * 3 * 5 = 15 1 * 3 * 5 * 7 = 105 1 * 3 * 5 * 7 * 9 = 945

Variabel Larik atau lebih dikenal dengan

ARRAY adalah Tipe terstruktur yang terdiri dari

sejumlah komponen-komponen yang mempunyai tipe

sama.

Suatu Array mempunyai jumlah komponen

yang banyaknya tetap. Banyaknya komponen dalam

suatu larik ditunjukan oleh suatu indeks untuk

membedakan variabel yang satu dengan variabel

yang lainnya

Variabel array dalam Borland C++, dapat

digolongkan menjadi dua buah dimensi:

• Array Berdimensi Satu.

• Array Berdimensi Dua

Array Dimensi 1

Bentuk Umum :

Inisialisasi / pemberian nilai awal array

dimensi 1

Dan pengaksesan pemanggilan datanya bisa menggunakan/memanggil subindeksnya

Contoh programnya (hal.91)

Contoh penggunaan array(lanjutan) hal 92

8/2/2016

Proses Looping input variabel array :

Proses output judul kolom :

Proses Looping output variabel array :

Array Dimensi 2

Bentuk Umum

Array dimensi dua tersusun dalam bentuk baris dan

kolom, dimana indeks pertama menunjukan baris dan

indeks kedua menunjukan kolom. Array dimensi dua

dapat digunakan seperti pendatan penjualan,

pendataan nilai dan lain sebagainya.

Contoh penulisan array dimensi 2 :

Inisialisasi Array Dimensi 2 (hal 94)

Contoh penggunaan array dimensi 2

8/2/2016

Latihannya : kerjakan latihan hal 100 no. 1

POINTER

Merupakan sebuah variabel yang berisi alamat dari

variabel lain. Suatu pointer dimaksudkan untuk

menunjukan ke suatu alamat memori sehingga alamat dari

suatu variabel dapat diketahui dengan mudah

Operator Pointer

Terdapat dua macam operator pointer yang disediakan

oleh Borland C++:

1. Operator dereference ( & )

2. Operator reference ( * )

Operator dereference ( & )

• Operator ini biasa disebut dengan “address of” atau

operator alamat. Dengan menggunakan operator

dereference(&) ini, suatu variabel akan menghasilkan

alamat lokasi memori.

Operator reference ( * )

• Operator ini biasa disebut dengan “value pointed by”.

Dengan menggunakan operator reference (*) ini,

menghasilkan nilai yang berada pada suatu alamat

memori

Penggunaan Pointer

• Dapat digunakan untuk mendeklarasikan variabel bertipe

data string tanpa harus dideklarasikan batasan

karakternya.

• Dapat digunakan dalam penggunaan FUNGSI yaitu saat

pemanggilan secara nilai dan refernsi

• Contoh listing dapat di lihat di bab 7 Pointer halaman

103 - 110

MACRO • Preprocessor Directives

Preprocessor directive merupakan suatu perintah yang termasuk kedalam program, tetapi bukanlah instruksi dari program itu sendiri, tetapi untuk preprocessor

– #define

– #include

– #if #endif

– #if #else #endif

– #elif

– #undef

– #ifdef #ifndef

Lihat penjelasan di modul C++ halaman 111-116

Pembuatan File Header

• File Header adalah suatu file dengan akhiran .h

• File ini sebenarnya berisikan deklarasi fungsi dan

definisi konstanta. Selain file-file header standar yang

disediakan oleh C++, kita dapat juga membuat file header

sediri, dengan cara yang sama seperti membuat file

editor. Yang harus diperhatikan pada saat menyimpan file

header yang telah dibuat harus digunakan akhiran .h

• Contoh listing dapat di lihat di bab 8 Macro halaman 117 -

118

Fungsi (Function) merupakan blok dari kode yang

dirancang untuk melaksanakan tugas khusus.

Kegunaan dari fungsi ini adalah untuk:

• Mengurangi pengulangan penulisan program yang

berulangan atau sama.

• Program menjadi lebih terstruktur, sehingga mudah

dipahami dan dapat lebih dikembangkan

Pemanggilan Fungsi dapat berulang-ulang dengan cara

memanggil nama fungsinya.

• Fungsi dapat dibedakan menjadi 2.

* Fungsi sederhana(tanpa parameter)

* Fungsi Berparameter

Contoh Fungsi Sederhana :

Prototype Fungsi adalah mejelaskan kepada

kompiler tentang tipe data fungsi, jumlah parameter,

tipe data dari masing-masing parameter.

Parameter Fungsi

adalah suatu pendefinisian nilai-nilai dari objek-objek

yang dideklarasikan pada bagian argumen di fungsi.

Nilai-nilai pada objek-objek tersebut didapat dari

variabel-variabel yang barada pada program utama

Yang Perlu diperhatikan dalam pembuatan Fungsi berparameter :

1. Jumlah Parameter aktual dan parameter formal harus sama

2. Tipe data yang digunakan oleh parameter harus sama

3. Tipe pemanggilan fungsi

Pemanggilan Fungsi Berparameter

1. Pemanggilan Secara Nilai

2. Pemanggilan Secara Reference

3. Pemanggilan Return

Pemanggilan Secara Nilai(by Value)

pemanggilan fungsi dengan nilai akan menyebabkan nilai

parameter aktual tidak akan berubah, walaupun nilai

parameter formalnya berubah.

Pemanggilan Secara Reference

pemanggilan fungsi dengan nilai akan menyebabkan nilai parameter

aktual berubah, dengan cara merubah nilai parameter formalnya. Untuk

pemanggilan by reference memerlukan sebuah pointer ( * ) didepan

nama parameter formalnya, dan ( & ) untuk nama parameter aktualnya.

Pemanggilan Secara Return

Dilakukan untuk melakukan pengiriman suatu nilai atau nilai dari

suatu fungsi kepada fungsi yang lain yang memanggilnya.

Buatlah rancangan perhitungan luas segitiga dengan

tampilan seperti berikut :

Contoh Penggunaan Fungsi

Dimana perhitungan luas nya dilakukan di dalam fungsi

luas_segitiga dan penggunaan fungsi garis

Contoh Penggunaan Fungsi Penjelasannya : input nilai alas ( a) dan tinggi ( t ), lalu untuk proses hasil dilakukan pemanggilan fungsi segitiga dan mengirimkan nilai a dan t kedalam fungsi segitiga, dimana ( a ) sebagai alas dan ( t ) sebagai tinggi. Lalu didalam fungsi segitiga di proses hitung luas segitiganya. Lalu dengan fungsi return nilainya di kirim kembali sebagai hasil.

Struktur digunakan untuk mengelompokan sejumlah data yang

mempunyai tipe data yang berbeda. Variabel-variabel yang

membentuk sebuah struktur dinamakan elemen struktur.

Penggunaan Struktur menggunakan bentuk umum :

nama_structurenya.nama_variabelnya

Bentuk Umum Struktur

Contoh 1a

Contoh 1b

Perbedaan dari 2 contoh diatas adalah

perbedaan penggunaan dari bentuk umum.

Contoh 1a menggunakan bentuk umum yang

ke 2, sehingga penggunaan nama struktur

bisa langsung digunakan tanpa harus

dideklarasikan nama variabel lain.

sedangkan contoh 1b, menggunakan bentuk

umum yang ke 1, sehingga penggunaannya

harus dideklarasikan lagi oleh nama variabel

lain yang menggunakan tipe dari nama

struktur itu sendiri.

Menggabungkan struktur dengan array

dan function

Catatan : jml_index array dideklarasikan bisa di nama struktur atau

di elemen struktur. Perbedaannya adalah jika di letakkan di nama

struktur maka ketika digunakan yang punya pelaku perulangan

adalah nama struktur. Sedangkan jika diletakkan di elemen struktur

maka ketika digunakan yang punya pelaku perulangan adalah

elemen strukturnya

Contoh 2

Catatan : Penggunaan Struktur dengan array,

dapat dilakukan dengan mengelompokkan

variabel-variabel array kedalam nama struktur.

Sehingga bisa terlihat bedanya variabel array

dengan variabel biasa.

LATIHAN gabungan Struktur,Fungsi, Array dan Seleksi Kondisi

LATIHAN gabungan Struktur,Fungsi, Array dan Seleksi Kondisi

OOP adalah pemrograman yang

menitikberatkan kepada objek-objek untuk

menyelesaikan tugas atau proses dari

program tersebut. Sedangkan penitik

beratkan ini dimaksudkan adanya interaksi

pengiriman nilai, pesan atau pernyataan

antar objek. Kemudian objek yang

merespon hasil dari interaksi tersebut akan

membentuk suatu tindakan atau aksi

Pembuatan project akhir untuk nilai pengganti UAS dimana temanya

telah ditentukan saat UTS. Sebagai contoh di slide berikutnya

pembuatan project dengan tema penyewaan pakaian adat

• Project yang akan di buat dengan penggunaan structure/Class, label, seleksi kondisi (nested if), sintaks input dan output

Bentuk Tampilan Awal

Bentuk Tampilan Input

Bentuk Tampilan Output