Sunday, August 29, 2021

Reaksi Fusi dan Fisi

Reaksi fusi
Dikutip dari wikipedia "Reaksi nuklir adalah sebuah proses di mana dua nuklei atau partikel nuklir bertubrukan, untuk memproduksi hasil yang berbeda dari produk awal. Pada prinsipnya sebuah reaksi dapat melibatkan lebih dari dua partikel yang bertubrukan, tetapi kejadian tersebut sangat jarang. Bila partikel-partikel tersebut bertabrakan dan berpisah tanpa berubah (kecuali mungkin dalam level energi), proses ini disebut tabrakan dan bukan sebuah reaksi.


Dikenal dua reaksi nuklir, yaitu reaksi fusi nuklir dan reaksi fisi nuklir. Reaksi fusi nuklir adalah reaksi peleburan dua atau lebih inti atom menjadi atom baru dan menghasilkan energi, juga dikenal sebagai reaksi yang bersih. Reaksi fisi nuklir adalah reaksi pembelahan inti atom akibat tubrukan inti atom lainnya, dan menghasilkan energi dan atom baru yang bermassa lebih kecil, serta radiasi elektromagnetik. Reaksi fusi juga menghasilkan radiasi sinar alfa, beta dan gamma yang sagat berbahaya bagi manusia."
Reaksi inti sangat berbeda dengan reaksi kimia, karena pada dasarnya reaksi inti ini terjadi karena tumbukan (penembakan) inti sasaran (target) dengan suatu proyektil (peluru). Secara skematik reaksi inti dapat digambarkan:
reaksi inti

Pada reaksi inti ini terjadi perubahan unsur karena ditumbuk zarah nuklir atau zarah radioaktif yang dapat dinyatakan oleh persamaan reaksi:

A + a → B + b + Q ............................................. (1)

atau

A (a, b) B

dengan A adalah unsur semula, B adalah unsur yang terjadi, a dan b adalah zarah yang ditumbukkan dan yang terpental, dan Q adalah energi panas yang mungkin timbul dalam reaksi inti tersebut.

Apabila b = a, dan B = A, maka pada reaksi tersebut adalah hamburan. Misalnya:

26Mg + p → 26Mg + p + γ

dengan p adalah proton.

Dalam hal ini, hamburannya tidak elastis dengan energi kinetik proton yang terdisipasi untuk mengeksitasi inti Mg yang pada deeksitasinya mengeluarkan sinar gamma.

Pada reaksi inti berlaku hukum:

a. kekekalan momentum linier dan momentum sudut,
b. kekekalan energi,
c. kekekalan jumlah muatan (nomor atom),
d. kekekalan jumlah nukleon (nomor massa).

Dengan demikian, momentum, energi, nomor atom, dan nomor massa inti-inti sebelum reaksi harus sama dengan momentum, energi, nomor atom, dan nomor massa intiinti setelah reaksi.

James Chadwick menemukan neutron dengan mendedahkan berillium logam ke partikel. Ia menemukan jenis partikel baru yang keluar dari intinya, yaitu neutron. Selanjutnya, dia meneliti deugerium (hidrogen berat). Isotop ini ditemukan pada tahun 1932 dan digunakan untuk reaktor nuklir.


2. Energi Reaksi Inti


Suatu reaksi inti bisa menghasilkan atau memerlukan energi. Besarnya energi Q bisa dihitung berdasarkan reaksi pada persamaan (1). Dalam perhitungan energi reaksi inti, semua massa inti dinyatakan dalam satuan sma (satuan massa atom). Menurut Einstein, energi total yang dimiliki suatu massa m adalah:

E = m . c2 ........................................................ (2)

dengan c adalah kelajuan cahaya (3 × 108 m/s).

Dari persamaan (2) untuk 1 sma, energi yang dimiliki adalah 931,5 MeV. Dengan demikian, persamaan energi (berdasarkan hukum kekekalan energi) dapat dituliskan:

(mA + ma) 931,5 MeV = (mB + mb) 931,5 MeV + Q

atau

Q = {(mA + ma) – (mB + mb)} 931,5 MeV......... (3)

Dari persamaan (3), jika diperoleh nilai Q > 0, maka reaksinya disebut reaksi eksoterm, yaitu reaksi di mana terjadi pelepasan energi. Sebaliknya, jika Q < 0, maka reaksinya disebut reaksi endoterm, yaitu reaksi yang memerlukan energi.

Persamaan (3)menunjukkan bahwa pada prinsipnya, energi reaksi adalah sama dengan perubahan massa inti sebelum reaksi dan sesudah reaksi. Hal inilah yang dinyatakan Einstein sebagai kesetaraan massa-energi.

Contoh Soal 1 :

Hitunglah energi yang dibebaskan pada reaksi (1 sma = 931,5 MeV) :

reaksi inti Be
Jika,

mBe = 9,012 sma,
mn = 1,008 sma,
mα = 4,002 sma,
mc= 12,000 sma!


Pembahasan :

Reaksi inti :
Reaksi inti Be alfa

Q = {(mBe + mα) – (mc + mn)}× 931,5 MeV
Q = {(9,012 + 4,002) – (12,000 + 1,008)} × 931,5 MeV
Q = {13,014 – 13,008} × 931,5 MeV
Q = 0,006 × 931,5 MeV
Q = 5,589 MeV

3. Reaksi Fisi



Reaksi fisi (pembelahan inti) adalah reaksi nuklir yang melibatkan pembelahan sebuah inti berat (seperti uranium) menjadi dua bagian (hasil fisi), yang kemudian memancarkan dua atau tiga neutron, sambil melepaskan sejumlah energi yang setara dengan selisih antara massa diam neutron dan hasil fisi dengan jumlah massa diam inti awal. Fisi dapat terjadi spontan atau sebagai akibat irradiasi neutron. Misalnya, fisi inti uranium-235 oleh sebuah neutron lambat akan berlangsung sebagai berikut:

235U + n → 148La + 85Br + 3n

Energi yang dilepaskan kira-kira 3 × 10-11 J per satu inti 235U. Untuk 1 kg 235U, energi yang dihasilkan setara dengan 20.000 megawatt.jam, sama dengan jumlah energi yang dihasilkan oleh pembakaran 3 × 106 ton batubara.

Fisi nuklir n merupakan proses yang digunakan di dalam reaktor nuklir dan bom atom.
reaksi fisi berantau uranium
Gambar 1.Reaksi fisi berantau uranium. [1]
Pada suatu reaktor nuklir, reaksi fisi dapat dimanfaatkan sebagai pusat pembangkit tenaga listrik, karena reaksinya bisa dikendalikan. Sebaliknya, reaksi fisi yang tidak terkendali akan menghasilkan ledakan energi, seperti pada bom atom.

Contoh Soal 2 :

Perhatikan reaksi fisi berikut!
reaksi fisi uranium


Hitunglah energi yang dibebaskan pada fisi 1 kg atom!

Penyelesaian:

Diketahui:
reaksi fisi uranium
mu = 235,0439
mn = 1,0087 
mBa = 137,9050
mNb = 92,9060
me= 0,00055


Ditanya: Energi = ...?

Pembahasan :

Q = {(mu + mn) – (mBa + mNb + 5mn + 5me)} × 931 MeV/sma
Q = {(235,0439 + 1,0087) – (137,9050 + 92,9060 + (5 × 1,0087) + (5 × 0,00055)} × 931
Q = 181,87085 MeV
energi yang dibebaskan pada fisi 1 kg atom uranium

4. Reaksi Fusi


Reaksi fusi (penggabungan inti) adalah reaksi nuklir yang melibatkan penggabungan inti-inti atom dengan nomor atom kecil untuk membentuk inti yang lebih berat dengan melepaskan sejumlah besar energi. Dalam reaksi fisi, sebuah neutron dipergunakan untuk membelah sebuah inti yang besar, tetapi dalam reaksi fusi nuklir, dua inti yang bereaksi harus saling bertumbukan. Karena kedua inti bermuatan positif, maka timbul gaya tolak yang kuat antarinti, yang hanya dapat dilawan bila inti yang bereaksi memiliki energi kinetik yang sangat besar. 
Reaksi fusi
Gambar 2. Reaksi fusi deuterium dan tritium, menghasilkan  helium -4 dan  neutron serta melepaskan energi sebesar 17,59 MeV. [2]
Pada temperatur tinggi, reaksi fusi berlangsung sendiri, reaktan pada temperatur ini berada dalam bentuk plasma (dengan kata lain inti dan atom bebas) dan inti memiliki energi yang cukup untuk melawan gaya tolak elektrostatik. Bom fusi dan bintang-bintang menghasilkan energi dengan cara seperti ini. 
Tokamak reaktor fusi percobaan
Gambar 3. Tokamak reaktor fusi percobaan.
Diharapkan metode ini akan digunakan dalam reaktor termonuklir, sebagai sumber energi untuk kepentingan manusia. Berikut ini adalah contoh reaksi fusi yang terjadi pada bintang, matahari, serta pada atom hidrogen.
reaksi fusi yang terjadi pada bintang, matahari, serta pada atom hidrogen
Contoh Soal 3 :


Reaksi fusi berikut ini berlangsung di Matahari dan menghasilkan sebagian besar energinya:
reaksi fusi di matahari
Berapa besar energi yang dilepaskan ketika 1 kg hidrogen dikonsumsi? Massa 1H adalah 1,007825 u; 4He adalah 4,002604 u; dan 0e + 1 adalah 0,000549 u.

Penyelesaian:

Diketahui: 

mH = 1,007825 u 
mHe = 4,002604 u
me= 0,000549 u


Ditanya: Energi = ...?

Pembahasan :

Q = {(4 mH) – (mHe) + 2 me)} × 931 MeV/sma
Q = {(4 × 1,007825) – (4,002604 + (2 × 0,000549))} × 931
Q = 24,872596 MeV

4 atom H = 4 × 1,007825 = 4,0313 sma
energi yang dilepaskan ketika 1 kg hidrogen reaksi fusi matahari

5. Reaktor Nuklir



Reaktor nuklir merupakan sebuah peralatan sebagai tempat berlangsungnya reaksi berantai fisi nuklir terkendali untuk menghasilkan energi nuklir, radioisotop, atau nuklida baru.
Skema dasar reaktor
Gambar 4. Skema dasar reaktor.
Keterangan :

  1. Bahan bakar
  2. Teras reaktor
  3. Moderator
  4. Batang kendali
  5. Pompa pemindah
  6. Generator uap
  7. Shielding (perisai)
Berikut ini beberapa komponen dasar reaktor.

a) Bahan bakar reaktor nuklir merupakan bahan yang akan menyebabkan suatu reaksi fisi berantai berlangsung sendiri, sebagai sumber energi nuklir. Isotop fisi adalah uranium-235, uranium-233, plutonium-239. Uranium-235 terdapat di alam (dengan perbandingan 1 : 40 pada uranium alam), dan yang lainnya harus dihasilkan secara buatan.

b) Teras reaktor, di dalamnya terdapat elemen bahan bakar yang membungkus bahan bakar.

c) Moderator adalah komponen reaktor yang berfungsi untuk menurunkan energi neutron cepat (+ 2 MeV) menjadi komponen reaktor normal (+ 0,02 - 0,04 eV) agar dapat bereaksi dengan bahan bakar nuklir. Selain itu, moderator juga berfungsi sebagai pendingin primer. Persyaratan yang diperlukan untuk bahan moderator yang baik adalah dapat menghilangkan sebagian besar energi neutron cepat tersebut dalam setiap tumbukan dan memiliki kemampuan yang kecil untuk menyerap neutron, serta memiliki kemampuan yang besar untuk menghamburkan neutron.

Bahan-bahan yang digunakan sebagai moderator, antara lain:

1) air ringan (H2O), c) grafit, dan
2) air berat (D2O), d) berilium.

d. Setiap reaksi fisi menghasilkan neutron baru yang lebih banyak (2 - 3 neutron baru), maka perlu diatur jumlah neutron yang bereaksi dengan bahan bakar. Komponen reaktor yang berfungsi sebagai pengatur jumlah neutron yang bereaksi dengan bahan bakar adalah batang kendali. Dalam reaktor dikenal faktor pengali (k), yaitu perbandingan jumlah neutron yang dihasilkan setiap siklus dengan jumlah neutron pada awal siklus untuk:

k = 1, operasi reaktor dalam keadaan kritis,
k > 1, operasi reaktor dalam keadaan super kritis,
k < 1, operasi reaktor dalam keadaan subkritis.

Bahan yang dipergunakan untuk batang kendali reaktor haruslah memiliki kemampuan tinggi menyerap neutron. Bahan-bahan tersebut antara lain kadmium (Cd), boron (B), atau haefnium (Hf ).

e. Perisai (shielding), berfungsi sebagai penahan radiasi hasil fisi bahan agar tidak menyebar pada lingkungan.


f. Pemindah panas, berfungsi untuk memindahkan panas dari pendingin primer ke pendingin sekunder dengan pompa pemindah panas.

g. Pendingin sekunder, dapat juga berfungsi sebagai generator uap (pembangkit uap) yang selanjutnya dapat digunakan untuk menggerakkan generator listrik.

Batangan bahan bakar ini digunakan untuk reaktor nuklir magnox
Gambar 5. Batangan bahan bakar reaktor nuklir magnox. [3]
Batangan bahan bakar ini digunakan untuk reaktor nuklir magnox. Batangan ini terbuat dari uranium alami, dibungkus magnox (aloi campuran magnesium).

Thursday, April 13, 2017

Pengenalan bahasa pemrogram C++



Pengenalan bahasa pemrogram C++

Bahasa pemrograman C++ bisa disebut sebagai bahasa pemrograman tingkat menengah ( middle level programming language) yang berarti juga termasuk dalam bahasa tingkat tinggi (high level programming language).

Struktur C++

# include
main()
{
Instruksi-instruksi
}

Keterangan :

a. # include sebagai proses compiler dari c++ menjalankan program yang dinamakan preprosesor yang memiliki kemampuan menambahkan dan menghapus kode dari file sumber. Include berarti menyertakan kode dari file header yang ada didalam kurung, file header adalah file yang berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh program.

b. main()
Untuk mendeklarasi fungsi utama, bahwa suatu program c++ dapat berisi banyak fungsi, tetapi harus selalu memiliki sebuah fungsi utama ( main function). Fungsi adalah modul yang berisi kode-kode untuk menyelesaikan masalah-masalah tertentu.

c. {
Menandakan awal program.

d. Instruksi
Berisi perintah-perintah yang akan dilakukan program.

e. }
Menandakan akhir program.

Pendeklarasian tipe data variable.

Tipe data Fungsi atau kegunaan Jangkauan Contoh
Int Dapat menampung nilai positif atau nilai negative. -32768 sampai 32767 125
Float Dapat menampung semua nilai bilangan real, mewakili semua bilangan,dan bilangan dengan pecahan decimal. -1038 sampai +1038 56.12
Char Mewakili suatu karakter tunggal, sebuah huruf, 1 digit, atau tanda baca. 1 byte ‘A’

Deklarasi & Variabel

Bentuk penulisan
Tipe_data nama_variabel;

Contoh Deklarasi Variabel
char nama_mahasiswa;
char grade;
float rata_rata ;
int nilai;

Perintah Keluaran

Perintah standar output yang disediakan oleh Borland C++, diantaranya adalah :
• printf()
• puts()
• putchar()
• cout()

printf()

Fungsi printf() merupakan fungsi keluaran yang paling umum digunakan untuk menampilkan informasi kelayar.

contoh1:
#include
#include
#include
main()
{
int a=7;
char b=’G’;
clrscr();
printf(“%c Merupakan Abjad Yang Ke – %d”, b, a);
getch();
}puts()
Perintah puts() sebenarnya sama dengan printf(), yaitu digunakan untuk mencetak string ke layar. puts() berasal dari kata PUT STRING.
Perbedaan antara printf() dengan puts() adalah :

Contoh2:
#include
#include
#include
main()
{
char a[4]=”BSI”;
clrscr();
puts(“Saya Kuliah di. “); {put berfungsi untuk mencetak sekaligus mencipakan baris baru}
puts(a);
getch();
}

putchar()

Perintah putchar() digunakan untuk menampilkan sebuah karakter ke layar. Penampilan karakter tidak diakhiri dengan pindah baris.

Contoh3:
#include
#include
main()
{
clrscr();
putchar(‘B’);
putchar(‘S’);
putchar(‘I’);
getch();
}

cout()

Penjelasan Fungsi cout() merupakan sebuah objeck didalam C++ digunakan untuk menampilkan suatu data kelayar. Untuk menggunakan fungsi cout() ini, harus menyertakan file header iostream.h .

Contoh4:
#include
#include
#include
main()
{
float a, b, c;
a=7.5; b=8.4; c=0;
clrscr();
cout<<"Masukan Nilai A : "<<a;
cout<<"Masukan Nilai B : "<<b<<endl;
c = a + b;
cout<<"Masukan Nilai C : "<<c;
getch();
}

Perintah Masukan

Perintah standar input yang disediakan oleh Borland C++, diantaranya adalah :

scanf()
gets()
cin()
getch()
getche()

scanf()

Fungsi scanf() digunakan untuk memasukkan berbagai jenis data.
Bentuk Umum dari fungsi ini adalah :
scanf("penentu format", &nama-variabel); format sama dengan format printf()

contoh5:
# include
# include
main()
{
int a, b, c = 0 ;
clrscr();
printf(“Masukan Nilai A = “); scanf(“%d”,&a);
printf(“Masukan Nilai B = “); scanf(“%d”,&b);
c = a + b;
printf(“Hasil Penjumlahan = %d”,c);
getch();
}

gets()

Fungsi gets() digunakan untuk memasukkan data string.
Bentuk Umum dari fungsi ini adalah :
gets(nama-variabel-array);

Perbedaan scanf dan gets

Contoh6:
# include
# include
main()
{
char nm1[20];
char nm2[20];
clrscr();
puts(“Masukan nama ke – 1 = “);
gets(nm1);
printf(“Masukan nama ke – 2 = “);
scanf(“%s”,&nm2);
printf(“\n\n”);
puts(“Senang Berkenalan Dengan Anda ..”);
puts(nm1);
printf(“Senang Berkenalan Dengan Anda ..%s”, nm1);
puts(“Senang Berkenalan Dengan Anda ..”);
puts(nm1);
printf(“\n\n”);
puts(“Senang Berkenalan Dengan Anda ..”);
puts(nm2);
printf(“Senang Berkenalan Dengan Anda ..%s”, nm2);
getch();
}

cin() Fungsi cin() merupakan sebuah objeck didalam C++ digunakan untuk memasukkan suatu data. Untuk menggunakan fungsi cin() ini, harus menyertakan file header iostream.h .

contoh7:
# include
# include
# include
main()
{
float a, b, c;
clrscr();
cout<>a;
cout<>b;
c = a + b;
cout<<"Nilai C : "<<c<<endl;
getch();
}

getch ()

Fungsi getch() (get character and echo) dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan tidak akan ditampilkan di layar. File header yang harus disertakan adalah conio.h.

Contoh8:
# include
# include
main()
{
char kar;
clrscr();
printf(“Masukan Sebuah Karakter Bebas = “);
kar = getch();
printf(“\nTadi Anda Memasukan karakter %c”, kar);
getch();
}

getche ()

Fungsi getche()dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan ditampilkan di layar. File header yang harus disertakan adalah conio.h.

Contoh9:
# include
# include
main()
{
char kar;
clrscr();
printf(“Masukan Sebuah Karakter Bebas = “);
kar = getche();
printf(“\nTadi Anda Memasukan karakter %c”, kar);
getch ();
}

Catatan : Getch() dan getche() penulisan sama

Operator Aritmatik

Operator Keterangan
+ (pertambahan)
* (perkalian)
% (Sisa pembagian)
– (Pengurangan)
/ (Pembagian)

Contoh1:
#include
#include
#include
main()
{
int a, b, c = 0, d = 0;
clrscr();
cout<>a;
cout<>b;
c = a % b;
d = a * b;
cout<<" Hasil dari C = A % B = "<<c<<endl;
cout<<" Hasil dari D = A * B = "<<d<<endl;
getch();
}

Operator Penambahan dan Pengurangan

A = A + 1 atau A = A – 1;
disederhanakan menjadi :
A += 1 atau A -= 1;
masih dapat disederhanakan menjadi A ++ atau A–
Notasi “ ++ “ atau “ — “ dapat diletakan didepan atau di belakang variabel.
Contoh A ++ atau ++A / A– atau –A
Kedua bentuk penulisan notasi ini mempunyai arti yang berbeda
• Jika diletakan didepan variabel, maka proses penambahan atau pengurangan akan dilakukan sesaat sebelum atau langsung pada saat menjumpai ekspresi ini, sehingga nilai variabel tadi akan langsung berubah begitu ekspresi ini ditemukan, sedangkan
• Jika diletakan dibelakang variabel, maka proses penambahan atau pengurangan akan dilakukan setelah ekspresi ini dijumpai atau nilai variabel akan tetap pada saat ekspresi ini ditemukan.

Contoh2:
/* Penggunaan Notasi Didepan Variabel*/
#include
#include
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();
}

Contoh3:
/* Penggunaan Notasi Dibelakang Variabel*/
#include
#include
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();
}

Operator Relasi

Operator Keterangan
== Sama dengan (bukan pemberi nilai
!=  Tidak sama dengan
>    Lebih dari
=    Lebih dari sama dengan
<=  Kurang dari sama dengan

Contoh4:
#include
#include
#include
main()
{
float a, b, c, d, e, f, x, y;
clrscr();
cout<>x;
cout<>y;
a = x == y;
b = x != y;
c = x > y;
d = x = y;
f = x <= y;
cout<<endl;
cout<<"Hasil dari "<<x<<" == "<<y<<" = "<<a<<endl;
cout<<"Hasil dari "<<x<<" != "<<y<<" = "<<b<<endl;
cout<<"Hasil dari "<<x< “<<y<<" = "<<c<<endl;
cout<<"Hasil dari "<<x<<" < "<<y<<" = "<<d<<endl;
cout<<"Hasil dari "<<x<= “<<y<<" = "<<e<<endl;
cout<<"Hasil dari "<<x<<" <= "<<y<<" = "<<f<<endl;
getch();
}

Operator Logika

Operator Relasi digunakan untuk menghubungkan dua buah operasi relasi menjadi sebuah ungkapan kondisi. Hasil dari operator logika ini menghasilkan nilai numerik 1 (True) atau 0 (False).

Operator Keterangan
&& Operator Logika AND
|| Operator Logika OR
! Operator Logika NOT

Operator And
digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila semua ekspresi relasi yang dihubungkan bernilai BENAR.
Contoh :
Ekspresi Relasi-1  A + 4 A + 5
Ekspresi Relasi-3  C – 3 >= 4

Contoh5:
/* Penggunaan Operasi Logika AND */
#include
#include
#include
main()
{
float a, b, c, d, e, f, g, h;
clrscr();
cout<>a;
cout<>b;
cout<>c;
// Proses
d = a + 4 a + 5;
f = c – 3 >= 4;
g = d && e && f;
cout<<endl<<endl;
cout<<"Program Ekspresi AND"<<endl<<endl;
cout<<"Hasil dari d = a + 4 < 10 adalah " <<d<<endl;
cout< a + 5 adalah ” <<e<<endl;
cout<= 4 adalah ” <<f;
cout<<endl<<endl;
cout<<"Hasil dari g = d && e && f adalah " <<g;
cout<<endl;
getch();
}

Operator OR
digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila salah satu ekspresi relasi yang dihubungkan bernilai BENAR.
Contoh :
Ekspresi Relasi-1  A + 4 A + 5
Ekspresi Relasi-3  C – 3 > 4

Contoh6:
/* Penggunaan Operasi Logika OR */
#include
#include
#include
main()
{
float a, b, c, d, e, f, g, h;
clrscr();
cout<>a;
cout<>b;
cout<>c;
d = a + 5 > 10;
e = b > 5 + a ;
f = c – 4 <= 7;
g = d || e || f;
cout<<endl<<endl;
cout<<"Program Ekspresi OR"<<endl<<endl;
cout< 10 adalah ” <<d<<endl;
cout< 5 + a adalah ” <<e<<endl;
cout<<"Hasil dari f = c – 4 <= 7 adalah " <<f;
cout<<endl<<endl;
cout<<"Hasil dari g = d || e || f adalah " <<g;
cout<<endl;
getch();
}

Operator NOT
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.
Contoh:
Ekspresi Relasi  A + 4 < 10

Contoh7:
/* Penggunaan Operasi Logika NOT */
#include
#include
#include
main()
{
int a, b, c;
clrscr();
cout<>a;
/* Proses */
b = (a + 4 < 10);
c = !(b);
cout<<endl<<"Program Ekspresi NOT "<<endl;
cout<<"Nilai A = "<<a<<endl;
cout<<"Nilai b = (a + 4 < 10) = "<<b<<endl;
cout<<"Nilai c = !(b) = "<<c;
getch();
}
Operasi Penyeleksian Kondisi

Pernyataan Percabangan digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada.

Pernyataan IF

if (kondisi)
{
Pernyataan;
……
}

Contoh1:
#include
#include
#include
main()
{
double tot_beli, potongan=0, jum_bayar=0;
clrscr();
cout<>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
cout<<"Besarnya Potongan Rp. "<<potongan<<endl;
jum_bayar = tot_beli – potongan;
cout<<"Jumlah yang harus dibayarkan Rp. "<<jum_bayar;
getch();
}

Pernyataan If Else

if (kondisi-1)
{
perintah-1;
….
}
else
{
perintah-2;
….
}

Contoh2:
#include
#include
#include
main()
{
double tot_beli, potongan=0, jum_bayar=0;
clrscr();
cout<>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
else
potongan = 0.05 * tot_beli;
cout<<"Besarnya Potongan Rp. "<<potongan<<endl;
jum_bayar = tot_beli – potongan;
cout<<"Jumlah yang harus dibayarkan Rp. "<<jum_bayar;
getch();
}

Pernyataan Nested If

if(syarat)
if(syarat)
… perintah;
else
… perintah;
else
if(syarat)
… perintah;
else
… perintah;

Contoh3:
#include
#include
#include
main()
{
char kd;
char ukr,merk[20];
long int hrg,byr,ppn,ttl,u_byr,u_kembali,byk;
clrscr();
cout<<"***Toko Kelontong Keroncongan***"<<endl;
cout<<"============================================="<<endl;
cout<<"A. Susu Dancow "<<endl;
cout<<" 1. Ukuran Kecil "<<endl;
cout<<" 2. Ukuran Sedang "<<endl;
cout<<" 3. Ukuran Besar "<<endl;
cout<<"B. Susu Bendera "<<endl;
cout<<" 1. Ukuran Kecil "<<endl;
cout<<" 2. Ukuran Sedang "<<endl;
cout<<" 3. Ukuran Besar "<<endl;
cout<<"C. Susu SGM "<<endl;
cout<<" 1. Ukuran Kecil "<<endl;
cout<<" 2. Ukuran Sedang "<<endl;
cout<<" 3. Ukuran Besar "<<endl;
cout<>kd;
cout<>ukr;
cout<>byk;
if(kd==’A’||kd==’a’)
{strcpy(merk,”Dancow”);
if(ukr==’1′)hrg=15000;
else if(ukr==’2′)hrg=26000;
else hrg=45000;}
else if(kd==’B’||kd==’b’)
{strcpy(merk,”Bendera”);
if(ukr==’1′)hrg=12000;
else if(ukr==’2′)hrg=22000;
else hrg=40000;}
else
{strcpy(merk,”SGM”);
if (ukr==’1′)hrg=20000;
else if(ukr==’2′)hrg=38000;
else hrg=70000;}
cout<<"Merk Susu :"<<merk<<endl;
cout<<"Harga :"<<hrg<<endl;
byr=hrg*byk;
cout<<"Pembayaran :"<<byr<<endl;
ppn=0.1*byr;
ttl=byr+ppn;
cout<<"PPN :"<<ppn<<endl;
cout<<"Total Bayar :"<<ttl<<endl;
cout<>u_byr;
u_kembali=u_byr-ttl;
cout<<"Uang Kembali :"<<u_kembali<<endl;
cout<<"Terima Kasih Anda Telah Ke Counter Kami"<<endl;
getch();
}

Pernyataan If – Else Majemuk

if (syarat)
{
… perintah;
… perintah;
}
else if (syarat)
{
… perintah;
… perintah;
}
else
{
… perintah;
… perintah;
}

Contoh4:
#include
#include
#include
main()
{
char nm_pes[20],nm[20],kode,tujuan[30];
int jml;
long int harga,ttl;
clrscr();
cout<<"PT TRAVELLING INDONESIA"<<endl;
cout<>nm;
cout<>kode;
cout<>jml;
if(kode==’1′)
{strcpy(tujuan,”Jakarta – Medan”);
strcpy(nm_pes,”Garuda Airlines”);
harga=400000;}
else if(kode==’2′)
{strcpy(tujuan,”Jakarta – Lampung”);
strcpy(nm_pes,”Asia Airlines”);
harga=200000;}
else
{strcpy(tujuan,”Jakarta – Palembang”);
strcpy(nm_pes,”Sriwijaya Airlines”);
harga=300000;}
ttl=jml*harga;
cout<<"Penumpang Yang Bernama :"<<nm<<endl;
cout<<"Nama Pesawat :"<<nm_pes<<endl;
cout<<"Tujuan :"<<tujuan<<endl;
cout<<"Harga Tiket :"<<harga<<endl;
cout<<"Total Bayar :"<<ttl<= 85, maka mendapat hadiah Seperangkat Komputer P4
– Jika Nilai Rata-Rata >= 70, maka mendapat hadiah Uang sebesar Rp. 500,000
– Jika Nilai Rata-Rata < 70, maka mendapat hadiah Hiburan
• Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
PROGRAM HITUNG NILAI RATA-RATA
Nama Siswa : …
Nilai Pertandingan I : …
Nilai Pertandingan II : …
Nilai Pertandingan III : …
Layar Keluaran
Siswa yang bernama …
Memperoleh nilai rata-rata
dari hasil perlombaan yang diikutinya.
Hadiah yang didapat adalah ..

Pernyataan switch – case

switch (ekspresi integer atau karakter )
{
case konstanta-1 :
… perintah;
… perintah;
break;
case konstanta-2 :
… perintah;
… perintah;
break;
default :
… perintah;
… perintah;
}

Setiap cabang akan dijalankan jika syarat nilai konstanta tersebut dipenuhi dan default akan dijalankan jika semua cabang diatasnya tidak terpenuhi. Pernyataan break menunjukan bahwa perintah siap keluar dari switch. Jika pernyataan ini tidak ada, maka program akan diteruskan kecabang – cabang yang lainnya.

Contoh1:
#include
#include
#include
main()
{
char kode;
clrscr();
cout<>kode;
switch(kode)
{
case ‘A’ :
case ‘a’ :
cout<<"Alat Olah Raga";
break;
case 'B' :
case 'b' :
cout<<"Alat Elelktronik";
break;
case 'C' :
case 'c' :
cout<<"Alat Masak";
break;
default:
cout<<"Anda Salah Memasukan kode";
break;
}
getch();
}
Contoh2:
#include
#include
#include
main()
{
char nama[30],kd,bonus[20],jwb;
int jml;
long int hrg,ppn,total,pot;
atas:
clrscr();
cout<<"TOKO BUKU SEJAHTERA"<<endl;
cout<<"Jl.Keadilan No.16"<<endl;
cout<<"Telp.7236573-7236574"<<endl;
cout<<"======================================="<<endl;
cout<>kd;
switch(kd)
{
case ‘A’:
case ‘a’:
{strcpy(nama,”Laskar Pelangi”);
hrg=50000;}
break;
case ‘B’:
case ‘b’:
{strcpy(nama,”Jangan Tinggalkan Aku”);
hrg=35000;}
break;
case ‘C’:
case ‘c’:
{strcpy(nama,”Mencari Mutiara di Dasar Hati”);
hrg=45000;}
break;
default:
cout<<"Anda Salah Memasukan Kode";
break;
}
cout<<"Nama Buku Yang Anda Beli :"<<nama<<endl;
cout<<"Harga Buku Yang Anda Beli :"<<hrg<<endl;
cout<>jml;
if (jml>=3)
{pot=0.1*hrg*jml;
strcpy(bonus,”Buku Saku”);}
else
{pot=0;
strcpy(bonus,”Maaf Anda Tidak Dapat Bonus”);}
cout<<"Anda Dapat Potongan : "<<pot<<endl;
cout<<"Bonus Yang Anda Peroleh : "<<bonus<<endl;
total=jml*hrg;
ppn=0.02*jml*hrg;
cout<<"Total Bayar Buku Yang Dibeli : "<<total<= 80 mendapat Grade A
• Nilai Akhir >= 70 mendapat Grade B
• Nilai Akhir >= 59 mendapat Grade C
• Nilai Akhir >= 50 mendapat Grade D
• Nilai Akhir < 50 mendapat Grade E
• Tampilan yang diinginkan sebagai berikut :

Layar Masukkan
PROGRAM HITUNG NILAI AKHIR
Nama Siswa : ……
Nilai Keaktifan : ……
Nilai Tugas : ……
Nilai Ujian : ……

Layar Keluaran
Siswa yang bernama
Dengan Nilai Persentasi Yang dihasilkan.
Nilai Keaktifan * 20% : …
Nilai Tugas * 30% : …
Nilai Ujian * 50% : …
Jadi Siswa yang bernama
memperoleh nilai akhir sebesar …
Grade nilai yang didapat adalah …
Latihan IF dan Switch case:

PT. DINGIN DAMAI, memberikan Honor tetap kepada karyawan kontraknya sebesar Rp. 300,000,- per bulan, dengan memperoleh tujangan-tunjangan sebagai berikut :
• Tunjangan Jabatan
Golongan Persentase
1 5%
2 10%
3 15%

Sebagai contoh : Jika seorang keryawan tersebut dengan golongan 3, maka mendapatkan tunjangan sebesasr 15% * Rp. 300,000,-
• Tunjangan Pendidikan

Kode Pendidikan Persentase
1 SMU 2,5%
2 D3 5%
3 S1 7,5%

• Honor Lembur
Jumlah jam kerja normal sebanyak 8 Jam Kerja. Honor lembur diberikan jika jumlah jam kerja sebih dari 8 jam, maka kelebihkan jam kerja tersebut dikalikan dengan honor lembur perjam sebesar Rp. 2,500 untuk setiap kelebihan jam kerja perharinya.
• Tampilan yang diinginkan sebagai berikut :

Layar Masukkan
Program Hitung Honor Karyawan Kontrak
PT. DINGIN DAMAI
Nama Karyawan : …
Golongan : …
Pendidikan (SMU/D3/S1) : …
Jumlah Jam Kerja : …

Layar Keluaran
Karyawan yang bernama : …
Honor yang diterima
Honor Tetap Rp. ….
Tunjangan jabatan Rp. ….
Tunjangan Pendidikan Rp. ….
Honor Lembur Rp. ….
———————————————— +
Honor Yang Diterima Rp. ….

Proses Perulangan

Perulangan For

Perulangan yang pertama adalah for. Bentuk umum pernyataan for sebagai berikut :
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
Bila pernyataan didalam for lebih dari satu maka pernyataan-pernyataan tersebut harus diletakan didalam tanda kurung.
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
{
pernyataan / perintah;
pernyataan / perintah;
pernyataan / perintah;
}

Keterangan:
* inisialisasi : nilai awal pada variabel
* syarat pengulangan : hal yang menentukan apakah suatu perulangan diteruskan atau dihentikan.
* pengubah nilai pencacah : pengatur nilai kenaikan atau penurunan nilai pencacah.

Contoh1:
/* ————————— */
/* Program for – bilangan naik */
/* ————————— */
#include
#include
#include
main()
{
int a;
clrscr();
for(a = 1; a <= 10; ++a)
cout<<a;
getch();
}

Contoh2:
/* ——————————*/
/* Program Menampilkan Warna – 1 */
/* ——————————*/
#include
#include
main()
{
int a=2, b=1, c=2, d=1, e;
clrscr();
for(e=1; 17>e; e++)
{
gotoxy(e, e); textcolor(e);
cprintf(“\nwarna ke-%d”,e);
}
getche();
}

Keterangan:
cprintf() = Menampilkan data dengan format pewarnaan teks dan pewarnaan latar belakang.

Perulangan Nested For

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

Contoh3:
/* ————————- */
/* Program for – Nested for */
/* ————————- */
#include
#include
#include
main()
{
int a, b;
clrscr();
for(a = 1; a <= 5; a++)
{
printf("\n");
for(b = a; b <= 5; b++)
cout<<a<<" ";
}
getch();
}

Pernyataan Goto

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 :
goto label;

contoh4:
/* —————————— */
/* Program dengan pernyataan goto */
/* —————————— */
#include
#include
#include
main()
{
int a, b;
char lagi;
atas:
clrscr();
cout<>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 While

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 :
while ( syarat )
Pernyataan / perintah ;

Contoh5:
/* Program while01.cpp */
/* ——————- */
#include
#include
#include
main()
{
int bil=1;
clrscr();
while(bil<=10)
{
cout<<bil<<" ";
++bil;
}
getch();
}

Pernyataan do – while

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 ;
while ( syarat );

contoh6:
/* Program do – while */
/* —————— */
#include
#include
#include
main()
{
int bil=2;
clrscr();
do
{
cout<<bil<<" "; bil+=2;
}
while(bil<=10);
getch();
}

Latihan:
1. Buatlah program untuk menghitung 10 deret bilangan genap dengan hasilnya :
2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 = 110
2. Buatlah program untuk menghitung 10 deret bilangan ganjil dengan hasilnya :
1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19 = 100

Operasi String

Fungsi strcat()

Fungsi ini digunakan untuk menambahkan string sumber kebagian akhir dari string tujuan.
File header yang harus disertakan adalah : string.h dan ctype.h
Bentuk Penulisan :
strcat(tujuan, sumber);

contoh1:
#include
#include
#include
#include
#include
main()
{
char a1[20];
char a2[20];
clrscr();
cout<>a1;
cout<>a2;
strcat(a1, a2);
cout<<"Hasil Penggabungannya "<<a1;
getch();
}

Fungsi strlen()

Fungsi ini digunakan untuk memperoleh banyaknya karakter dalam string. File header yang harus disertakan adalah : string.h
Bentuk Penulisan :
strlen(str);

Contoh2:
#include
#include
#include
#include
main()
{
char huruf[20];
char pindah[20];
clrscr();
cout<<"Masukkan Sembarang Kata = ";
gets(huruf);
cout<<"Panjang Kata Yang Diinputkan = ";
cout<<strlen(huruf);
getch();
}
Fungsi strrev()

Penjelasan Fungsi ini digunakan untuk membalik letak urutan pada string. String urutan paling akhir dipindahkan keurutan paling depan dan seterusnya. File header yang harus disertakan adalah : string.h
Bentuk Penulisan :
strrev(str);

contoh3:
#include
#include
#include
#include
main()
{
char kata[20];
clrscr();
cout<<"Masukan Sembarang Kata = ";
gets(kata);
strrev(kata);
cout<<"Hasil Perubahan = "<<kata;
getch();
}

Fungsi Strlwr()

Fungsi ini digunakan untuk mengubah setiap huruf kapital (huruf besar ) dalam string menjadi huruf kecil.
File header yang harus disertakan adalah : string.h
Bentuk Penulisan :
strlwr(str);

contoh4:
#include
#include
#include
#include
main()
{
char kata[20];
clrscr();
cout<<"Masukan Sembarang Kata dengan Huruf Besar ="; gets(kata); strlwr(kata);
cout<<"Hasil Perubahan = "<<kata;
getch();
}

Fungsi strupr()

Fungsi ini digunakan untuk mengubah setiap huruf kecil dalam string menjadi huruf kapital ( huruf besar ).
File header yang harus disertakan adalah : string.h
Bentuk Penulisan :
strupr(str);

contoh5:
#include
#include
#include
#include
main()
{
char kata[20];
clrscr();
cout<<"Masukan Sembarang Kata dengan Huruf Kecil=";
gets(kata);
strupr(kata);
cout<<"Hasil Perubahan = "<<kata;
getch();
}

Latihan 1:

#include
#include
#include
#include
garis()
{cout<<"____________________________________________________"<<endl;}
float harga(float a);
main()
{
int i;
char lagi;
struct
{
char nama[5][20];
char najur[5][10];
int jubel[5],kode[5],tot[5];
}travel[5];
atas:
clrscr();
cout<<"\tTRAVEL SILIWANGI"<<endl;
garis();
for (i=1;i<3;i++)
{
cout<<"Data Ke- "<<i;
cout<<"\nMasukan Nama : ";gets(travel[i].nama[i]);
cout<>travel[i].kode[i];
cout<>travel[i].jubel[i];
}
for (i=1;i<3;i++)
{
if (travel[i].kode[i]==1)
strcpy (travel[i].najur[i],"JKT – SBY");
else if (travel[i].kode[i]==2)
strcpy(travel[i].najur[i],"SBY – BALI");
else
strcpy (travel[i].najur[i],"SBY – JKT");
}
for (i=1;i<3;i++)
{
travel[i].tot[i]=travel[i].jubel[i]*harga(travel[i].kode[i]);
}
garis();
cout<<"\tTRAVEL SILIWANGI"<<endl;
cout<<"No. Nama Jurusan Harga jumlah Total"<<endl;
garis();

for (i=1;i<3;i++)
{
cout<<setiosflags(ios::left)<<setw(4)<<i;
cout<<setiosflags(ios::left)<<setw(10)<<travel[i].nama[i];
cout<<setiosflags(ios::left)<<setw(15)<<travel[i].najur[i];
cout<<setiosflags(ios::left)<<setw(8)<<harga(travel[i].kode[i]);
cout<<setiosflags(ios::left)<<setw(5)<<travel[i].jubel[i];
cout<<setiosflags(ios::left)<<setw(10)<<travel[i].tot[i];
cout<<endl;
}
garis();
cout<<"\n\n\n\n"<<"apakah anda ingin input lagi?";
lagi=getche();
if (lagi=='y'||lagi=='Y')
goto atas;
getch();
}
float harga(float a)
{
if (a==1)
{
return 400000;
}
else if (a==2)
{
return 250000;
}
else
{
return 150000;
}
}

Hasil Tampilan:

Latihan2:

/* Program Gaji Karyawan Honerer */
/* Jawaban Kuis Pra UAS C++ A1 */
/* ================================= */
#include
#include
#include
#include
long Lembur(int LJam);
main()
{
struct
{
char NIK[10];
char Nama[25];
int JmlJam;
long Total;
}Karyawan[5];
int i,N;
clrscr();
cout<>N;
for(i=1;i<=N;i++)
{
clrscr();
cout<<"==============================="<<endl;
cout<<" PROGRAM GAJI KARYAWAN "<<endl;
cout<<" HONORER "<<endl;
cout<<"==============================="<<endl;
cout<<" Data Ke – : "<<i<<endl;
cout<>Karyawan[i].NIK;
cout<<" Nama Karyawan : ";gets(Karyawan[i].Nama);
cout<>Karyawan[i].JmlJam;
}
clrscr();
cout<<"==============================================="<<endl;
cout<<" RINCIAN GAJI KARYAWAN HONORER "<<endl;
cout<<"==============================================="<<endl;
cout<<" No NIK Nama Jumlah Jam Upah Lembur Total Gaji "<<endl;
cout<<"==============================================="<<endl;
for(i=1;i<=N;i++)
{
cout<<setiosflags(ios::right)<<setw(3)<<i<<" ";
cout<<setiosflags(ios::left)<<setw(10)<<Karyawan[i].NIK;
cout<<setiosflags(ios::left)<<setw(10)<<Karyawan[i].Nama;
cout<<setiosflags(ios::right)<<setw(3)<<Karyawan[i].JmlJam<<" ";
cout<<setiosflags(ios::right)<<setw(10)< 48)
Karyawan[i].Total = (((Karyawan[i].JmlJam – (Karyawan[i].JmlJam – 48)) * 2000) + (Lembur(Karyawan[i].JmlJam)));
else
Karyawan[i].Total = ((Karyawan[i].JmlJam * 2000) + Lembur(Karyawan[i].JmlJam));
cout<<setiosflags(ios::right)<<setw(10)<<Karyawan[i].Total<<endl;
}
cout<<"==============================================="< 48)
{
return(LJam – 48) * 3000;
}
else
{
return 0;
}
}

Hasil Tampilan:

Masukan Keluaran

Latihan3:

#include
#include
#include
#include
#include
main()
{
long int total;
int i,j;
char napeg[20],hari[12];
struct
{
float jumbar[5],kobar[5];
long int tot[5],harga[5];
char nabar[5][20];
}terima[5];
clrscr();
cout<>j;
cout<>napeg;
cout<>hari;
cout<<"_______________________________________________________________"<<endl;
cout<<"Rincian Data Barang "<<endl;
for(i=1;i<=j;i++)
{
cout<<"Data Barang Ke = "<<i<<endl;
cout<>terima[i].kobar[i];
cout<>terima[i].nabar[i];
cout<>terima[i].jumbar[i];
cout<>terima[i].harga[i];
cout<<endl;
}
clrscr();
cout<<"\t\t\t Laporan Data Barang "<<endl;
cout<<"\t\t\t PT.Makmur Sejahtera "<<endl<<endl<<endl;
cout<<"Hari = "<<hari<<"\t\t\t\t\t"<<"Nama Pencatat = "<<napeg<<endl;
cout<<"_______________________________________________________________"<<endl;
cout<<" No Kode Nama Barang Jumlah Harga Total "<<endl;
cout<<" Barang "<<endl;
cout<<"_______________________________________________________________"<<endl;
total = 0;
for(i=1;i<=j;i++)
{
terima[i].tot[i]=terima[i].jumbar[i]*terima[i].harga[i];
cout<<setiosflags(ios::left)<<setw(2)<<ends;
cout<<setiosflags(ios::left)<<setw(10)<<i;
cout<<setiosflags(ios::left)<<setw(10)<<terima[i].kobar[i];
cout<<setiosflags(ios::left)<<setw(15)<<terima[i].nabar[i];
cout<<setiosflags(ios::left)<<setw(13)<<terima[i].jumbar[i];
cout<<setiosflags(ios::left)<<setw(10)<<terima[i].harga[i];
cout<<setiosflags(ios::left)<<terima[i].tot[i];
total = total + terima[i].tot[i];
cout<<endl;
}
cout<<"_______________________________________________________________"<<endl;
cout<<"total bayar"<<setiosflags(ios::left)<<setw(50)<<ends<< total;
getch();
}

Latihan_IF:
#include
#include
#include
main()
{
char kd,judul[20],np[20],bonus[20],jwb;
int jumbel;
float harsat,j_pemby,dis,harber,tunj;
awal:
textbackground(0);
clrscr();
cout<<" \n Toko Kaset Utama \n"<<endl;
cout<>np;
cout<>kd;
cout<>jumbel;
cout<<"\n##################################"<<endl<=5)
dis=0.15*j_pemby;
else
dis=0;

if(kd==’1′ &&jumbel>=5)
tunj=5000;
else
if(kd==’2’&&jumbel>=5)
tunj=6000;
else
if(kd==’3’&&jumbel>=5)
tunj=7000;
else
tunj=0;

harber=j_pemby-dis+tunj;
cout<<"Judul Lagu : "<<judul<<endl;
cout<<"Bonus : "<<bonus<<endl;
cout<<"Harga : "<<harsat<<endl;
cout<<"Jumlah bayar : "<<j_pemby<<endl;
cout<<"Discount : "<<dis<<endl;
cout<<"Tunjangan : "<<tunj<<endl;
cout<<"Total Bayar : "<<harber<<endl<<endl;
cout<<"Mau Menghitung Lagi[Y/T]?";jwb=getche();
if(jwb=='Y'||jwb=='y')
goto awal;
getch();
}

Array / Larik

Variabel Larik atau lebih dikenal dengan ARRAY adalah adalah Tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Suatu Array mempunyai jumlah komponen yang banyaknya tetap. Banyaknya komponen dalam suatu larik ditunjukan oleh suatu indek untuk membedakan variabel yang satu dengan variabel yang lainnya.

Array Berdimensi Satu

Bentuk Umum pendeklarasian array :
Tipe-Data Nama_Variabel[Ukuran]
Keterangan :
• Type Data : Untuk menyatakan type data yang digunakan.
• Ukuran : Untuk menyatakan jumlah maksimum elemen array.

Float Nil_Akhir[6];

Contoh1:
#include
#include
#include
#include
main()
{
int i;
char nama[5][20];
float nilai1[5];
float nilai2[5];
float hasil[5];
clrscr();
for (i=1;i<=2;i++)
{
cout<<"Data Ke- "<<i<<endl;
cout<<"Nama Siswa :";gets(nama[i]);
cout<>nilai1[i];
cout<>nilai2[i];
hasil[i]=(nilai1[i]*0.40)+(nilai2[i]*0.60);
cout<<endl;
}
clrscr();
cout<<endl<<endl;
cout<<"———————————————–"<<endl;
cout<<"No. Nama Siswa Nilai Nilai Hasil "<<endl;
cout<<" Teori Praktek Ujian "<<endl;
cout<<"———————————————–"<<endl;
for (i=1;i<=2;i++)
{
cout<<setiosflags(ios::left)<<setw(4)<<i;
cout<<setiosflags(ios::left)<<setw(18)<<nama[i];
cout<<setprecision(2)<<" "<<nilai1[i];
cout<<setprecision(2)<<" "<<nilai2[i];
cout<<setprecision(2)<<" "<<hasil[i]<<endl;
}
cout<<"———————————————–"<<endl;
getch();
}

Array Berdimensi Dua

Bentuk Umum pendeklarasian array :
Tipe-Data Nama_Variabel[index-1][index-2]
Keterangan :
• Type Data : Untuk menyatakan type data yang digunakan.
• Index-1 : Untuk menyatakan jumlah baris
• Index-2 : Untuk menyatakan jumlah kolom

Contoh2:
#include
#include
#include
#include
main()
{
int i, j;
int data_jual[4][4];
clrscr();
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
{
cout<<"Data Ke – "<<i<<" "<<j<<endl;
cout<>data_jual[i][j];
}
}
cout<<"Data Penjualan Pertahun"<<endl;
cout<<"———————–"<<endl;
cout<<"NO 2001 2002 2003"<<endl;
cout<<"———————–"<<endl;
for(i=1;i<=3;i++)
{
cout<<setiosflags(ios::left)<<setw(5)<<i;
for(j=1;j<=3;j++)
{
cout<<setiosflags(ios::right)<<setw(4);
cout<<data_jual[i][j]; cout<<" ";
}
cout<<endl;
}
cout<<"———————–"<<endl;
getch();
}

Latihan_array1:
Sebuah perusahaan ayam goreng dengan nama “GEROBAK FRIED CHICKEN” yang telah lumayan banyak pelanggannya, ingin dibantu dibuatkan program untuk membantu kelancaran usahaannya.
“GEROBAK FRIED CHICKEN” mempunyai daftar harga ayam sebagai berikut :
Kode Jenis Harga
——————
D Dada Rp. 2500
P Paha Rp. 2000
S Sayap Rp. 1500
——————

Buatlah programnya dengan ketentuan :
• Setiap pembeli dikenakan pajak sebesar 10% dari pembayaran.
• Banyak Jenis, Jenis Potong dan Banyak Beli diinput.
• Tampilan yang diinginkan sebagai berikut :

Layar Masukkan
GEROBAK FRIED CHICKEN
———————
Kode Jenis Harga
———————
D Dada Rp. 2500
P Paha Rp. 2000
S Sayap Rp. 1500
———————
Banyak Jenis : …
Jenis Ke – …
Jenis Potong [D/P/S] : …
Banyak Potong : …
… <>

Layar Keluaran
GEROBAK FIRED CHICHEN
———————————————–
No. Jenis Harga Bayak Jumlah
Potong Satuan Beli Harga
———————————————–
… …. …. …. Rp ….
… …. …. …. Rp ….
———————————————–
Jumlah Bayar Rp ….
Pajak 10% Rp ….
Total Bayar Rp ….

FUNGSI

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.

Fungsi-fungsi yang sudah kita kenal sebelumnya adalah fungsi main(), yang bersifat mutlak, karena fungsi ini program akan dimulai, sebagai contoh yang lainnya fungsi printf(), cout() yang mempunyai tugas untuk menampilkan informasi atau data kelayar dan masih banyak lainnya.

Struktur Fungsi

nama_fungsi(argumen)
{
… pernyataan / perintah;
… pernyataan / perintah;
… pernyataan / perintah;
}

Keterangan:
Nama fungsi, boleh dituliskan secara bebas dengan ketentuan, tidak menggunakan spasi dan nama-nama fungsi yang mempunyai arti sendiri.
Argumen, diletakan diantara tanda kurung “( )” yang terletak dibelakang nama fungsi. Argumen boleh diisi dengan suatu data atau dibiarkan kosong.
Pernyataan / perintah, diletakan diantara tanda kurung ‘{ }’.

Pada pemanggilan sebuah fungsi, cukup dengan menuliskan nama fungsinya.

/* pembuatan fungsi garis() */
#include
#include
#include
garis()
{
printf(“\n———————-\n”);
}
/* program utama */
main()
{
clrscr();
garis(); //memanggil fungsi garis
cout<<"AMIK BSI – Salemba 22"<<endl;;
garis(); //memanggil fungsi garis
getche();
}

Prototipe Fungsi

Prototipe fungsi digunakan untuk mendeklarasikan ke kompiler mengenai: • Tipe data keluaran dari fungsi.
• Jumlah parameter yang digunakan
• Tipe data dari masing-masing parameter yang digunakan.

Keuntungan didalam pemakai prototipe yaitu :
• Kompiler akan melakukan konversi antara tipe parameter dalam definisi dan parameter fungsi.
• Jika jumlah parameter yang digunakan dalam definisi fungsi dan pada saat pemanggilan fungsi berbeda atau tidak sama, maka akan menunjukkan kesalahan.

Pernyataan return().

Digunakan untuk mengirimkan nilai atau nilai dari suatu fungsi kepada fungsi yang lain yang memanggilnya. Pernyataan return() diikuti oleh argumen yang berupa nilai yang akan dikirimkan. Contoh pemakaian pernyataan return() dapat dilihat pada contoh berikut ;

Contoh pengiriman data konstanta
/* ———————— */
/* Pengriman data Konstanta */
/* ———————— */
#include
#include
#include
luas(float sisi);
main()
{
float luas_bs;
clrscr();
luas_bs = luas(4.25);
cout<<"\nLuas Bujur Sangkar = "<<luas_bs;
getch();
}
luas(float sisi)
{
return(sisi*sisi);
}

Keterangan :

Dalam struktur program diatas dilihat bahwa, pernyataan luas_bs=luas(4.25), akan dikirimkan nilai kepada fungsi luas(), untuk diolah lebih lanjut, yang nilai tersebut akan ditampung pada variabel sisi. Selanjutnya didalam fungsi return terjadi perkalian sisi dengan sisi, setelah itu hasil perkalian tersebut dikirim balik ke variabel luas_bs yang memanggil fungsi.

Contoh Pengiriman data variable:

/* ———————— */
/* Pengriman data Variabel */
/* ———————— */
#include
#include
#include
luas(float sisi);
main()
{
float luas_bs, sisi_bs;
clrscr();
cout<<"\nMenghitung Luas Bujur Sangkar"<<endl;
cout<>sisi_bs;
luas_bs = luas(sisi_bs);
cout<<"\nLuas Bujur Sangkar = "<<luas_bs<<" Cm";
getch();
}
luas(float sisi)
{ return(sisi*sisi); }

Latihan function

#include
#include
#include
potong(float harga,float disk);
garis ()
{
printf(“===============================”);
}
main()
{
char nama[20],jwb;
long int harga,total,disk;
ulang:
clrscr();
garis();
cout<<"\n\tToko Mas Jayakarta "<<endl;
cout<>nama;
cout<>harga;
if(harga=1000000&&harga<=5000000)
disk=harga*0.2;
else
disk=harga*0.35;
cout<<"Besar diskont yang diberikan :"<<disk<<endl;
total=potong(harga,disk);
cout<<"Besar harga yang harus dibayar :"<<total<<endl;
cout<<"\n\tAnda Ingin Input Lagi [Y/T]:";jwb=getche();
if(jwb=='Y'||jwb=='y')
goto ulang;
getch();
}
potong(float harga,float disk)
{ return(harga-disk); }

Macro

Preprocessor Directives
Adalah suatu perintah yang termasuk kedalam program, tetapi bukanlah instruksi dari program itu sendiri, tetapi untuk preprocessor. Preprocessor ini dijalankan secara otomatis oleh kompiler, ketika didalam proses penterjemahan (Compile) program berlangsung, didalamnya membuat nilai pembuktian pertama dan menterjemahkan code program didalam kode objek. Didalam penggunaan preprocessor directive selalu dimulai dengan tanda : #
Ada beberapa preprocessor directive, diantaranya adalah :

# define

Digunakan untuk mendefinisikan suatu nilai tertentu kepada suatu nama konstanta.
Bentuk umum dari preprocessor directive #define ini adalah:

#define nama_konstanta teks

Contoh :
Teks

#define A 6

Nama_Konstanta

Dalam pendeklarasian preprocessor directive #define,
Nama_Konstanta sebaiknya ditulis dengan menggunakan huruf besar, guna untuk membedakannya dengan nama_variabel. Sedangkan Teks merupakan suatu nilai yang diberikan pada nama_konstanta. Teks dapat berupa :
• Numerik  #define PI 3.14
• Karakter  #define HURUF ‘B’
• String  #define JABATAN “INSTRUCTOR”
• Pernyataan  #define CETAK (“Borland C++”)
• Fungsi Sederhana  #define LUAS_KUBUS (n*n)

Contoh1:

/* ————————– */
/* Program Penggunaan #define */
/* ————————– */
#include
#include
#include
#define PI 3.141592
#define L(n) PI*n*n
main()
{
clrscr();
cout<<"Luas Lingkaran dengan : "<<endl;
cout<<"Jari-jari = 5 adalah "<<L(5)<<endl;
cout<<"Jari-jari = 10 adalah "<<L(10)<<endl;
getche();
}

Contoh2:

/* ————————– */
/* Program Penggunaan #define */
/* ————————– */
#include
#include
#include
#define awal {
#define akhir }
#define mulai() main()
#define cetak cout
#define masuk cin
#define hapus() clrscr()
#define tahan() getch()
#define LS_KUBUS (sisi*sisi)
mulai()
awal
int sisi, ls_kubus;
hapus();
cetak<<"Program Penggunaan #define"<<endl<<endl;
cetak<>sisi;
ls_kubus = LS_KUBUS;
cetak<<"Luas Kubus adalah : "<<ls_kubus;
tahan();
akhir

# include

berfungsi untuk memasukkan atau menyertakan file-file header kedalam program yang akan dibuat. Dalam penulisan #include ada dua bentuk penulisan :
#include "nama_file_header"
atau
#include

Pada bentuk penulisan #include mempunyai arti yang berbeda, yaitu :

• #include “nama_file_header”
“Pertama kali compiler akan mencari file header yang disebutkan pada directori yang sedang aktif dan apa bila tidak ditemukan akan mencari pada directori dimana file header tersebut berada “.

• #include
“Pertama kali compiler akan mencari file header yang disebutkan pada directori yang ada file headernya, kecuali pada directori yang sedang aktif.

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 .

Buatlah program file heder dibawah ini, kemudian simpan dengan nama : atur.h, pada folder kerja anda folder include

Contoh-1

/* atur.h */
#define awal {
#define akhir }
#define mulai() main()
#define cetak cout
#define tampil cprintf
#define masuk cin
#define hapus() clrscr()
#define jika if
#define warna textcolor
#define tahan getche()

Buatlah program dibawah ini, kemudian gunakan file header yang sudah anda buat dan simpan dengan nama : sendiri.cpp

/* ———————————- */
/* program dengan file header sendiri */
/* ———————————- */
#include
#include
#include
#include”atur.h”
mulai()
awal
int a, b, c;
hapus();
warna(4);
tampil(“\nPROGRAM PENJUMLAHAN\n”);
cetak<<endl;
cetak<>a;
cetak<>b;
c=a+b;
cetak<<"Hasil dari "<<a<<" + "<<b<<" = "<<c;
tahan;
akhir

Structure

Structure digunakan untuk mengelompokan sejumlah data yang mempunyai tipe data yang berbeda. Variabel-variabel yang membentuk sebuah struktur dinamakan elemen struktur. Struktur sama seperti Record di dalam Bahasa Pemrograman Pascal

Deklarasi Structure

Atau

Contoh1:

/* —————————- */
/* Program Penggunaan structure */
/* Nama File : struct1.cpp */
/* —————————- */
#include
#include
#include
main()
{
struct
{
char nim[5];
char nama[15];
int nilai;
} mahasiswa;
clrscr();
cout<>mahasiswa.nim;
cout<>mahasiswa.nama;
cout<>mahasiswa.nilai;
cout<<"\n\nData Yang di Inputkan adalah : \n\n";
cout<<"NIM = "<<mahasiswa.nim<<endl;
cout<<"Nama = "<<mahasiswa.nama<<endl;
cout<<"Nilai Akhir = "<<mahasiswa.nilai<<endl;
getch();
}
Nested Structure

Contoh2:
/* ———————————– */
/* Program Penggunaan Nested structure */
/* ———————————– */
#include
#include
#include
main()
{
struct dtmhs
{
char nim[9];
char nama[15];
};
struct dtnil
{
float nil1;
float nil2;
};
struct
{
struct dtmhs mhs;
struct dtnil nil;
} nilai;
clrscr();
//-> masukan data
cout<>nilai.mhs.nim;
cout<>nilai.mhs.nama;
cout<>nilai.nil.nil1;
cout<>nilai.nil.nil2;
cout< menampilkan hasil masukan
cout<<"masukan NIM = "<<nilai.mhs.nim<<endl;
cout<<"masukan Nama = "<<nilai.mhs.nama<<endl;
cout<<"masukan Nilai UTS = "<<nilai.nil.nil1<<endl;
cout<<"masukan Nilai UAS = "<<nilai.nil.nil2<<endl;
cout<<endl;
getch();
return(0);
}
Structure dengan Array

struct
{
elemen_struktur;
…..
…..
} nama_tipe_struktur[jml_index];

Contoh3:
#include
#include
#include
main()
{
int i,j=1;
struct
{
char nim[10];
char nama[15];
float nilai;
} mhs[5];
clrscr();
for(i=1;i<=2;i++)
{
cout<<"Data ke-"<<i<<endl;
cout<>mhs[i].nim;
cout<>mhs[i].nama;
cout<>mhs[i].nilai;
cout<<endl;
}

for(i=1;i<=2;i++)
{
cout<<"Data ke-"<<i<<endl;
cout<<"NIM = "<<mhs[i].nim<<endl;
cout<<"Nama = "<<mhs[i].nama<<endl;
cout<<"Nilai Akhir = "<<mhs[i].nilai<<endl;
cout<<endl;
}
getch();
}

Structure dengan Function

/* —————————————— */
/* Program Penggunaan structure pada function */
/* Nama File : struct4.cpp */
/* —————————————— */
#include
#include
#include
char ket(float n);
main()
{
int i, j=1, k=1;
struct
{
char nim[5];
char nama[15];
float nilai;
} mhs[5];
clrscr();
for(i=0; i<2; i++)
{
cout<<"Data Ke – "<<j++<<endl;
cout<>mhs[i].nim;
cout<>mhs[i].nama;
cout<>mhs[i].nilai;
cout<<endl;
}
clrscr();
for(i=0; i<2; i++)
{
cout<<"Data Ke – "<<k++<<endl;
cout<<"NIM = "<<mhs[i].nim<<endl;
cout<<"Nama = "<<mhs[i].nama<<endl;
cout<<"Nilai Akhir = "<<mhs[i].nilai<<endl;
cout<<"Keterangan yang didapat = ";
cout<<ket(mhs[i].nilai)<<endl; cout< 65)
return ‘L’;
else
return ‘G’;
}

Pengertian Pemograman Dasar dan Konsep Dasar Pemrograman

Pengertian Pemograman Dasar

Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram (programmer). Untuk dapat melakukan pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan di banyak kasus, pengetahuan-pengetahuan lain seperti matematika.

Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih algoritma yang saling berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu sehingga menjadi sebuah program komputer. Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda pula. Gaya pemrograman ini biasa disebut paradigma pemrograman.


Konsep Dasar Pemrograman

Pengertian Dasar Program adalah rangkaian instruksi-instruksi dalam bahasa komputer yang disusun secara logika dan sistematis.

Pengertian Pemrograman adalah suatu kumpulan urutan perintah ke komputer untuk mengerjakan sesuatu, dimana instruksi tersebut menggunakan bahasa yang dimengerti  oleh komputer atau dikenal dengan bahasa pemrograman.

Konsep Dasar Pemrograman pada umumnya adalah IPO (Input Proses Output), lalu dikembangkan mejadi :
Originating -> input -> proses -> Output -> Distribution

||
Storage
Originating
Berhubungan dengan pengumpulan data yang biasanya merupakan pencatatan data kedokumen dasar. Setelah dikumpulkan dilakukan proses input.

Input
Tahapan ini merupakan proses pemasukan data kedalam proses komputer melalui peralatan input.

Proses
Tahap ini merupakan proses pengolahan data dari data yang sudah diinput berupa proses    menghitung membandingkan, mengurutkan, mengklasifikasikan, mengendalikan dan mencari di storage.

Output
Tahap ini merupakan proses untuk menghasilkan keluaran dari proses pengolahan data ke peralatan output berupa informasi (monitor, speaker, dsb)

Distribution
Tahap ini merupakan proses penyebaran informasi kepada pihak-pihak yang berhak dan membutuhkan informasi.

Storage
Tahap ini merupakan perekaman hasil pengolahan data storage yang nantinya dapat dipergunakan untuk input proses selanjutnya.

DATA
Data adalah bahan mentah yang akan diolah menjadi informasi sehingga  dapat dipergunakan oleh user atau pemakai.

1. Tipe Data Dasar : Merupakan tipe data primitif yang tidak terstruktur yang didefinisikan oleh bahasa pemrograman.

Tipe data dasar dibagi menjadi lima bagian yaitu :
a. Numerik, yaitu menyimpan data berupa angka
b. Enumerasi, yaitu suatu urutan list dari nilai-nilai yang berbeda.
c. Boolean, yaitu tipe data untuk merepresentasikan True atau False.
d. Character, yaitu tipe data untuk menyimpan rangkaian karakter.
e. Internationalization, disebut I18N

2. Tipe Data Terstruktur : Merupakan tipe data campuran dari berbagai tipe data dasar. Contohnya array, record, string, list dan file.

3. Tipe Data didefinisikan oleh Pemakai : Tipe data ini biasanya disebut Enumerasi.

4. Tipe Data Penunjuk : Contoh tipe data penunjuk adalah pointer

Model Komputasi
Model Komputasi adalah suatu kumpulan dari nilai dan operasi-operasi. Ada 3 dasar model komputasi :

1. Model Fungsional, yaitu model perhitungan yang fungsional terdiri dari satu set nilai-nilai, fungsi dan operasi, aplikasi, fungsi dan komposisi fungsi.

2. Model Logika, yaitu logika model perhitungan terdiri dari suatu set nilai-nilai, definisi hubungan dan kesimpulan logis.

3. Model Imperative, yaitu model perhitungan yang imperative terdiri dari satu set nilai-nilai yang mencakup suatu status dan operasi tugas-tugas untuk memodifikasi status tersebut.

Prinsip Bahasa Pemrograman

Empat prinsip dasar perancangan bahasa pemrograman adalah:

1. Sintaks, menjelaskan bagaimana struktur program yang benar.

2.Tipe sistem dan semantik, menunjukkan tipe nilai yang dapat dimanipulasi oleh program dan arti(semantik) dari program, mencakup juga aturan penamaan entitas (variabel,fungsi,class,parameter,dll).

3. Manajemen memori, menunjuk kepada sekumpulan teknik yg membantu kita untuk memahami pemetaan letak dari nilai, struktur data, dan struktur program di dalam memori.

4. Exception handling, mengenai penanganan exception (hal-hal yang tak terduga seperti kesalahan input ketika menjalankan program).
Definisi Sintaks, Semantik, dan Pragmatik

Sintaks   : Aturan gramatikal / komposisi suatu program yang mengatur tata cara penulisanhuruf, angka dan karakter lain.
Contoh : Pada pembuatan program Pascal antara 2 statement dipisahkan oleh ; (titik koma)
X:=1;  X:=X+1;

Semantik : Mendefinisikan arti dari program yang benar secara sintaks dari bahasa pemrograman tersebut.
Contoh : Pada pembuatan program C
int vector[10]
Arti semantiknya akan menyebabkan ruang sebanyak 10

Pragmatik  : Kemampuan pemakai dalam mengaitkan kalimat dengan kontek-kontek yang sesuai bagi kalimat tersebut.
Contoh : (A+B)*(A-B)
Related Posts Plugin for WordPress, Blogger...