Senin, 07 Januari 2013

Tipe Data

C dan C ++ menyediakan berbagai tipe data dasar, sebagai mana diperlihatkan pada table berikut.
 

Nama
Deskripsi
Ukuran Jarak
char Character or small integer. 1byte signed: -128 to 127
unsigned: 0 to 255
short int
(short)
 Short Integer.  2byte  signed: -32768 to 32767
unsigned: 0 to 65535
int  Integer.  4byte signed: -2147483648 to
2147483647
unsigned: 0 to 4294967295
long int
 Long integer.
 4byte signed: -2147483648 to
2147483647
unsigned: 0 to 4294967295
bool  Boolean value. It can take one of two values: true
or false.
 1byte  true or false
float  Floating point number.  4byte +/- 3.4e +/- 38 (~7 digits)
double  Double precision floating point number.  8byte +/- 1.7e +/- 308 (~15 digits)
long double  Long double precision floating point number.  8byte  +/- 1.7e +/- 308 (~15 digits)

Void


Ada dua jenis fungsi yaitu :
1. 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-ciri dari jenis fungsi Void adalah sebagai berikut:

  • • 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
• Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun.
• Void : void tampilkan_jml (int a, int b)

{
int jml;
jml = a + b;
cout<
}

Contoh fungsi void :
#include#includevoid 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();
}


2. NonVoid(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-ciri dari 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 fungsi non void :


#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();
}

Looping


STRUKTUR DASAR PENGULANGAN (LOOPING)
Struktur pengulangan terdiri atas 2 bagian yaitu :
*      Kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan. Kondisi ada yang dinyatakan secara explisit oleh pemrogram.
*      Badan (body) pengulangan, yaitu satu atau lebih aksi yang akan diulang
Stuktur pengulangan biasanya disertai dengan :
  • Inisialisasi yaitu ; Aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
  • Terminasi yaitu ; Aksi yang dilakukan setelah pengulangan selesai dilaksanakan.
.
Didalam algoritma terdapat beberapa macam struktur pengulangan yang berbeda, beberapa struktur dapat dipakai untuk masalah yang sama, namun ada notasi pengulangan yang hanya cocok dipakai untuk masalah tertentu, struktur pengulangan tersebut adalah :
  1. Struktur WHILE-DO
Bentuk umum struktur WHILE-DO adalah
while <kondisi> do
Aksi
endwhile
aksi (atau runtunan aksi) akan dilaksanakan berulang kali sepanjang <kondisi> boolean masih tetap bernilai true, jika <kondisi> bernilai false, badan pengulangan tidak akan dilaksanakan. Pengulangan selesai.
Contoh :
Tuliskan algoritma untuk mencetak banyak HALO sebanyak 10 kali .
Algoritma cetak_banyak_halo
Deklarasi
K : integer {pencacah pengulangan}
Deskripsi
K 1 {inisialisasi}
While k ≤ 10 do
Write (‘HALO’)
K K+1
Endwhile
{kondisi berhenti : k > 10}
Contoh :
Tuliskan Algoritma untuk mencetak urutan angka 1 s/d 10
Algoritma cetak_angka
Deklarasi
Angka : integer
Deskripsi
Angka 1
While angka ≤ 10 do
Write (angka)
angka angka +1
Endwhile
  1. Struktur REPEAT-UNTIL
Bentuk umum struktur REPEAT-UNTIL adalah :
Repeat
Aksi
Until <kondisi>
Struktur REPEAT-UNTIL memiliki makna yang sama dengan WHILE-DO namun ada perbedaan mendasar diantara keduanya. Pada struktur REPEAT-UNTIL aksi (atau sekumpulan aksi) dilaksanakan minimal satu kali, karena kondisi pengulangan diperiksa pada akhir struktur, sedangkan pada struktur WHILE-DO kondisi pengulangan diperiksa pada awal struktur sehingga memungkinkan pengulangan tidak pernah dilaksanakan bila kondisi pengulangan bernilai false.
Ini adalah contoh pada contoh WHILE-DO
Contoh :
Algoritma cetak_banyak_halo
Deklarasi
K : integer {pencacah pengulangan}
Deskripsi
K 1 {inisialisasi}
Repeat
Write (‘HALO’)
K K+1
Until k > 10
{kondisi berhenti : k > 10}
Contoh 2 :
Tuliskan Algoritma untuk mencetak urutan angka 1 s/d 10
Algoritma cetak_angka
Deklarasi
Angka : integer
Deskripsi
Angka 1
Repeat
Write (angka)
angka angka +1
until angka > 10
v  Perbedaan Repeat…until pada algoritma dengan do…while pada bahasa C++
adalah : pada bagian keadaan/kondisi pengecekannya. Pada repeat…until
loop akan dikerjakan kembali jika kondisi masih salah dan berhenti jika kondisi benar, tetapi kalau do…while kebalikannya.
  1. Struktur FOR
Struktur FOR digunakan untuk menghasilkan pengulangan sejumlah kali tanpa penggunaan kondisi apapu, struktur ini menyebabkan aksi diulangi sejumlah kali (tertentu)
Bentuk umum struktur FOR ada 2 macam : menaik (ascending) dan menurun (descending)
FOR menaik :
For peubah nilai_awal to nilai_akhir do
Aksi
Endfor
Keterangan :
    • peubah : haruslah bertipe sederhana
    • nilai_awal : haruslebih kecil atau sama dengan nilai_akhir
    • pada awalnya, peubah diinisialisasi dengan nilai_awal. Nilai peubah secara otomatis bertambah satru setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai_akhir
Ini adalah contoh pada contoh WHILE-DO
Contoh 1 :
Algoritma cetak_banyak_halo
Deklarasi
K : integer {pencacah pengulangan}
Deskripsi
For K 1 to 10 do
Write (‘HALO’)
Endfor
{kondisi berhenti : k > 10}
Contoh 2 :
Tuliskan Algoritma untuk mencetak urutan angka 1 s/d 10
Algoritma cetak_angka
Deklarasi
Angka : integer
Deskripsi
For angka 1 to 10 do
Write (angka)
Endfor
FOR menurun :
For peubah nilai_akhir downto nilai_awal do
Aksi
Endfor
Keterangan :
    • Peubah : haruslah bertipe sederhana
    • Nilai_akhir : harus lebih besar atau sama dengan nilai_awal
    • Pada awalnya, peubah diinisialisasi dengan nilai_akhir. Nilai peubah secara otomatis berkurang satu setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai_awal
Contoh :
algoritma peluncuran roket dengan hitungan mundur, muali dari 100, 99, 98, …. 0
Algoritma peluncuran_roket
Deklarasi
K : integer
Deskripsi
For k 100 downto 0 do
Write (k)
Endfor
Write (‘GO!’) {roket meluncur}
Perbedaan FOR dengan WHILE..DO
ü  FOR digunakan untuk proses pengulangan yang jumlah pengulangannya
dapat diketahui di awal.
ü  WHILE..DO selain dapat berfungsi seperti FOR juga dapat digunakan untuk proses yang jumlah pengulangannya tidak dapat diketahui.

Array

Array ( Larik)

Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu. Elemen-elemen array tersusun secara sekuensial di dalam memori sehingga memiliki alamat yang berdekatan. 
 Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi. Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-beda. Array digunakan untuk menyimpan data-data yang diinputkan masing-masing kedalam memory komputer. Jadi jumlah datanya banyak namun satu jenis.

Array dapat digunakan untuk menyimpan data yang cukup banyak namun memiliki tipe yang sama.
Bagaimana array melakukan penyimpanan datanya di memory komputer? Ilustrasi array satu dimensi
pada memory komputer adalah sebagai berikut:



Array menyimpan data secara berurutan pada memory komputer. Sekali array dideklarasikan (dibuat),
maka akan dialokasikan sejumlah tempat di memory komputer yang selalu letaknya berdekatan
(bersebelahan). Array memiliki indeks dan nilai data itu sendiri. Sedangkan jarak antar elemen pada
array disesuaikan dengan lebar data untuk masing-masing tipe data array. Misalnya pada tipe data
integer, maka jarak antar elemennya bernilai 2 s/d 4 byte. Indeks array pada C++ selalu dimulai dari
indeks ke 0, dan seterusnya indeks ke-1, 2, 3, dan lain-lain.

Decision

DECISION / KEPUTUSAN

      Setelah kamu Sudah belajar tentang Struktur C++, dan Elemen-Elemen Di Dalam C++.Setelah kamu sudah mengerti dan memahami betul dengan apa yang dimaksut dengan Tipe Data dan Variabel, dan kita akan berlanjut ke pelajaran berikutnya yaitu DECISION / KEPUTUSAN.
Decision atau Keputusan : Merupakan suatu keadaan dalam dua nilai, yaitu true (ya) atau False (tidak).
Tujuan dari suatu decision adalah melakukan perbandingan antara dua hal atau lebih untuk kemudian melakukan eksekusi selanjutnya.
Komparasi akan menghasilkan keputusan yaitu benar atau salah

 JENIS STRUKTUR SELEKSI

Struktur seleksi sederhana (if-then)
Struktur seleksi umum (if-then-else)
Struktur seleksi tersarang (nested if)
Struktur case-of

STRUKTUR SELEKSI SEDERHANA ( IF )
Bentuk ini merupakan bentuk yang paling sederhana dari keseluruhan struktur seleksi yang ada. Pada bentuk ini, hanya jika komparasi memiliki niali true saja. Jadi tidak ada bentuk dari nilai seperti false.
Contoh :
Mengisi Keterangan :
Jika NilaI siswa lebih besar sama dengan 60 maka siswa akan mendapatkan keterangan Lulus. Tetapi jika perbandingan menghasilkan salah/false maka didapatkan siswa tidak lulus keterangannya.
Atau
Mengisi Keterangan :
Jika Nilai Siswa >= 60, maka Keterangan=‘Lulus’
Jika Nilai Siswa < 60, maka Keterangan=‘Tidak Lulus’
Keterangan : Di Baca : jika nilai siswa Kurang dari sama dengan 60, maka akan muncul keterangan Lulus.
Dan jika Nilai siswa Kurang dari 60, Maka keterangan yang akan Muncul adalah Tidak lulus.

#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void main()
{
int nilai=70 ;
if (nilai>=60)
{
cout<<”keterangan = Lulus”<<endl;
}
getch();
}

STRUKTUR SELEKSI UMUM (IF-ELSE)
Bentuk kedua ini, baik kondisi bernilai true ataupun false di ikuti proses khusus.
Tetapi yang harus diperhatikan adalah bahwa proses khusus pada keadaan true tidak mungkin akan diperoses pada keadaan false dan sebaliknya.
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void main()
{
int nilai=70 ;
if (nilai>=60)
{
cout<<”keterangan = Lulus”<<endl;
}
else
{
cout<<”Keterangan = Tidak Lulus “<<endl;
}
getch() ;
}

Keterangan program : Di atas adalah Tampilan Sebuah Program yang seperti ada di contoh, mungkin kamu memperhatikan ada Inputan Baru di Header  yaitu #include <conio.h> Nah fungsi dari Header ini adalah berfungsi untuk mendeklarasikan agar kondisi IF bisa dikenali atau diketahui oleh perintah yang ada di C++.