Pages

7/31/13

Contoh Program Pointer C++

#include <iostream>

using namespace std;

int main ()
{
   int  var1;
   char var2[10];

   cout << "Address of var1 variable: ";
   cout << &var1 << endl;

   cout << "Address of var2 variable: ";
   cout << &var2 << endl;

   return 0;
}

Contoh Program Menghitung Bulan C++

#include<iostream.h>
#include<string.h>
main()
{
char nm[20],pw[10],hr[10],bln[10];
cout<<"user name : ";cin>>nm;
cout<<"password  : ";cin>>pw;
if ((strcmp(nm,"syamsir")==0) && (strcmp(pw,"1234")==0))

{    cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
     cout<<"| | | | | | | | | | | | | | | |  STRUKTUR DATA   | | | | | | | | | | | | | | | |"<<endl;
     cout<<"| | | | | | | | | | | | | | | | Menghitung Bulan | | | | | | | | | | | | | | | |"<<endl;
     cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;

cout<<"^_^Nama Bulan^_^    : ";cin>>hr;
cout<<"^_^Angka Bulan^_^   : ";cin>>bln;

if (strcmp(hr,"Januari")==0)
    cout<<"Hasil Dari Nama Bulan ->     : 1 "<<endl;
if (strcmp(bln,"1")==0)
    cout<<"Hasil Dari Angka Bulan ->    : Januari "<<endl;

if (strcmp(hr,"Februari")==0)
    cout<<"Hasil Dari Nama Bulan ->     : 2 "<<endl;
if (strcmp(bln,"2")==0)
    cout<<"Hasil Dari Angka Bulan ->    : Februari "<<endl;

if (strcmp(hr,"Maret")==0)
    cout<<"Hasil Dari Nama Bulan ->     : 3 "<<endl;
if (strcmp(bln,"3")==0)
    cout<<"Hasil Dari Angka Bulan ->    : Maret "<<endl;

if (strcmp(hr,"April")==0)
    cout<<"Hasil Dari Nama Bulan ->     : 4 "<<endl;
if (strcmp(bln,"4")==0)
    cout<<"Hasil Dari Angka Bulan ->    : April "<<endl;

if (strcmp(hr,"Mei")==0)
    cout<<"Hasil Dari Nama Bulan ->     : 5 "<<endl;
if (strcmp(bln,"5")==0)
    cout<<"Hasil Dari Angka Bulan ->    : Mei "<<endl;

if (strcmp(hr,"Juni")==0)
    cout<<"Hasil Dari Nama Bulan ->     : 6 "<<endl;
if (strcmp(bln,"6")==0)
    cout<<"Hasil Dari Angka Bulan ->    : Juni "<<endl;

if (strcmp(hr,"Juli")==0)
    cout<<"Hasil Dari Nama Bulan ->     : 7 "<<endl;
if (strcmp(bln,"7")==0)
    cout<<"Hasil Dari Angka Bulan ->    : Juli "<<endl;

if (strcmp(hr,"Agustus")==0)
    cout<<"Hasil Dari Nama Bulan ->     : 8 "<<endl;
if (strcmp(bln,"8")==0)
    cout<<"Hasil Dari Angka Bulan ->    : Agustus "<<endl;

if (strcmp(hr,"September")==0)
    cout<<"Hasil Dari Nama Bulan ->     : 9 "<<endl;
if (strcmp(bln,"9")==0)
    cout<<"Hasil Dari Angka Bulan ->    : September "<<endl;

if (strcmp(hr,"Oktober")==0)
    cout<<"Hasil Dari Nama Bulan ->     : 10 "<<endl;
if (strcmp(bln,"10")==0)
    cout<<"Hasil Dari Angka Bulan ->    : Oktober "<<endl;

if (strcmp(hr,"November")==0)
    cout<<"Hasil Dari Nama Bulan ->     : 11 "<<endl;
if (strcmp(bln,"11")==0)
    cout<<"Hasil Dari Angka Bulan ->    : November "<<endl;

if (strcmp(hr,"Desember")==0)
    cout<<"Hasil Dari Nama Bulan ->     : 12 "<<endl;
if (strcmp(bln,"12")==0)
    cout<<"Hasil Dari Angka Bulan ->    : Desember "<<endl;

}

else
    cout<<"SALAH"<<endl;

}

Pengertian STACK



STACK

1. DEFINISI STACK
Stack merupakan suatu kumpulan data yang seolah-olah ada data yang diletakkan di atas data yang lain. Dimana kita dapat menambah (menyisip) data, dan mengambil (menghapus) data lewat ujung yang sama, yang disebut sebagai ujung atas tumpukan (top of stack).

Stack bersifat LIFO (Last In First Out), yang berarti data yang terakhir masuk ke dalam stack akan menjadi data pertama yang dikeluarkan dari stack. Secara sederhana sebuah stack dapat kita ilustrasikan.

2. OPERASI ATAU FUNGSI STACK
Ada enam jenis operasi atau fungsi pada stack, yaitu:
a. Create, digunakan untuk membuat stack baru.
b. Push, digunakan untuk menambahkan elemen pada urutan terakhir.
c. Pop, digunakan untuk mengambil elemen stack pada tumpukan paling atas.
d. Clear, digunakan untuk mengosongkan stack.
e. Print, digunakan untuk menampilkan semua elemen-elemen stack.
f. IsEmpety, digunakan untuk mengecek apakah stack dalam keadaan kosong.
g. IsFull, digunakan untuk memeriksa apakah stack sudah penuh.

3. PENDEKLARASIAN STACK
Proses pendeklarasian stack adalah proses pembuatan struktur stack dalam memori. Karena stack dapat direpresentasikan menggunakan array maka suatu stack memiliki beberapa bagian yaitu:
a. Top yang menunjuk posisi data terakhir.
b. Elemen yang berisi data yang ada dalam stack. Bagian inilah yang berbentuk array.
c. Maks_elemen yaitu variabel yang menunjuk maksimal banyaknya elemen dalam stack.
Contoh pendeklarasian dalam bahasa C adalah:


4. OPERASI-OPERASI STACK SECARA LENGKAP
a. Operasi Push
Operasi push adalah operasi dasar dari stack. Operasi ini berguna untuk menambah suatu elemen data baru pada stack dan disimpan pada posisi top yang akan mengakibatkan posisi top akan berubah. Langkah operasi ini adalah:
Ø Periksa apakah stack penuh (isfull). Jika bernilai false/0 (tidak penuh) maka proses push dilaksanakan dan jika pemeriksaan ini bernilai true/1 (stack penuh), maka proses push digagalkan.
Ø Proses push-nya sendiri adalah dengan menambah field top dengan 1, kemudian elemen pada posisi top diisi dengan elemen data baru.


b. Operasi Pop
Operasi pop adalah salah satu operasi paling dasar dari stack. Operasi ini berguna untuk mengambil elemen terakhir (top) dan kemudian menghapus elemen tersebut sehingga posisi top akan berpindah. Operasi ini biasanya dibuat dalam bentuk function yang me-return-kan nilai sesuai data yang ada di top.
Langkah operasi pop pada stack yang menggunakan array adalah terlebih dahulu memeriksa apakah stack sedang keadaan kosong, jika tidak kosong maka data diambil pada posisi yang ditunjuk oleh posisi top, kemudian simpan dalam variable baru dengan nama data, kemudian posisi top -1, kemudian nilai pada variable data di-return-kan ke function.
Implementasi dalam bahasa C adalah:

c. Operasi Isempty
Operasi ini digunakan untuk memeriksa apakah stack dalam keadaan kosong. Operasi ini penting dilakukan dalam proses pop. Ketika suatu stack dalam keadaan kosong, maka proses pop tidak bisa dilakukan.
Operasi ini dilakukan hanya dengan memeriksa field top. Jika top bernilai 0 (untuk elemen yang dimulai dengan index 1) atau top bernilai -1 (untuk elemen yang dimulai dengan index 0), maka berarti stack dalam keadaan empty (kosong) yang akan me-return-kan true (1) dan jika tidak berarti stack mempunyai isi dan me-return-kan nilai false (0).
Implementasi dalam bahasa C adalah:

d. Operasi Isfull
Operasi ini berguna untuk memeriksa keadaan stack apakah sudah penuh atau belum. Operasi ini akan menghasilkan nilai true (1) jika stack telah penuh dan akan menghasilkan nilai false (0) jika stack masih bisa ditambah.
Operasi ini akan memberikan nilai true (1) jika field top sama dengan field maks_elemen (untuk array yang elemennya dimulai dari posisi 1) atau top sama dengan maks_elemen-1 (unauk array yang elemennya dimulai dari posisi 0).
Implementasinya dalam bahasa C adalah :

5. Aplikasi Stack
Suatu perhitungan aritmatika biasanya berhubungan dengan operand dan operator. Operand merupakan suatu karakter atau elemen yang nilainya dioperasikan dengan bantuan suatu operator untuik menghasilkan suatu solusi.
Misalkan jika diberikan suatu ekspresi aritmatika 2*3, maka elemen ‘dua’ dan elemen ‘tiga’ merupakan operand dari ekspresi tersebut dan elemen ‘*’ merupakan operator perkalian atas dua operand yang menghasilkan suatu solusi. Suatu ekspresi aritmatika dapat dibedakan dalam tiga bentuk notasi perhitungan yaitu :
1) Notasi prefix, jika operator ditempatkan sebelum dua operand
2) Notasi infix, jika operator ditempatkan diantara dua operand
3) Notasi postfix, jika operator ditempatkan setelah dua operand
Dalam penggunaannya di kehidupan sehari-hari, notasi infix merupakan notasi aritmatika yang paling banyak digunakan untuk mengekspresikan suatu perhitungan artimatik dibanding dengan dua notasi yang lain, akan tetapi notasi postfix merupakan notasi yang digunakan oleh mesin kompilasi pada komputer dengan maksud untuk mempermudah proses pengkodean, sehingga mesin kompilasi membutuhkan stack untuk proses translasi ekspresi tersebut.
Berdasarkan teori yang diterangkan tersebut di atas, proses konversi infix menjadi notasi postfix dalam implementasinya membutuhkan stack pada proses konversinya, adapun proses tersebut memiliki 4 (empat) aturan yang digunakan, yaitu :
1) Jika ditemukan simbol kurung buka “(“, maka operasi push pada stack akan digunakan untuk menyimpan simbol tersebut ke dalam stack.
2) Jika ditemukan simbol kurung buka “)”, operasi pop digunakan untuk mengeluarkan operator-operator yang berada di dalam stack.
3) Jika terdapat simbol operator, maka operasi yang dilakukan pada stack terbagi atas:
a. Jika TOP(S) dari stack tersebut kosong atau berisi simbol “(“ maka operasi push akan digunakan untuk memasukan operator tersebut pada posisi di TOP(S).
b. Jika operator yang berada dipuncak stack merupakan elemen yang memiliki tingkat yang sama atau lebih tinggi maka operasi pop digunakan untuk mengeluarkan operator tersebut diikuti operasi push untuk menyimpan operator hasil scanning untai.
c. Jika operator yang berada di puncak stack memiliki tingkat yang lebih rendah dari operator yang discan, maka operator baru akan langsung dimasukan ke dalam stack dengan operasi push.
Adapun tingkatan operator yang dilacak menurut urutan tingkat adalah:
Tabel 1. Level Operator dalam Stack
Operator Level Operator
** Tinggi
* atau / Menengah
+ atau - Rendah

1. Notasi Prefix
Seorang ahli matematika “Jan Lukasiewicz“ mengembangkan satu cara penulisan ungkapan numeris yang selanjutnya disebut “Notasi Polish“ atau “Notasi Prefix” yang artinya: operator ditulis sebelum kedua operand yang akan disajikan.
Contoh notasi prefix dari notasi infix:
Infix Prefix
A + B + A B
A + B – C - + A B C
( A + B ) * ( C – D ) * + A B – C D
A – B / ( C * D $ E ) - - -

Secara sederhana, proses konversi dari infix menjadi prefix sebagai berikut:
1. Ungkapan yang akan dikonversikan adalah ( A + B ) * ( C – D ).
2. Dengan menggunakan tanda kurung bantuan, ungkapan diatas kita ubah menjadi: [ + A B ] * [ - C D ]
3. Jika [ + A B ] kita misalkan P, dan [ - C D ] kita misalkan Q maka ungkapan di atas bisa ditulis sebagai berikut: P * Q
4. Selanjutnya notasi infix dirubah menjadi prefix: * P Q
5. Dengan mengembalikan P dan Q pada notasinya semula dan menghapus tanda kurung bantuan, kita peroleh notasi prefix dari persamaan ( A + B ) * ( C – D ) yaitu: * + A B – C D
Contoh:
1. A + B * C
B * C = * B C ..... P
C * P = * C P ..... Q
Algoritma Infix Ke Prefix:
Langkah 0:- Baca ungkapan dalam notasi infix, misalnya S;
- Tentukan panjang ungkapan tersebut, misalnya N;
- Siapkan sebuah tumpukan kosong dan siapkan derajat masing-masing operator. Misalnya: $ berderajat 3, * dan / berderajat 2, + dan – berderajat 1 dan (berderajat 0).
Langkah 1:
Dimulai dari I : N sampai 1, kerjakan langkah-langkah berikut :
a. R = S ( I )
b. Test nilai R. Jika R adalah:
- Operand : Langsung ditulis
- Kurung buka : Pop dan tulis semua isi tumpukan sampai ujung tumpukan = ‘)‘, pop juga tanda ini tetapi tidak perlu ditulis.
- Kurung tutup : Push kedalam tumpukan
- Operator : Jika tumpukan kosong, atau derajat R lebih tinggi
dibanding derajat ujung tumpukan, push operator
ke dalam tumpukan. Jika tidak pop ujung tumpukan dan tulis, kemudian ulangi perbandingan R dengan ujung tumpukan, lalu R di push.
Catatan: Kurung tutup di dalam tumpukan dianggap mempunyai derajat yang lebih rendah dibanding R.
Langkah 2: Jika akhir notasi infix telah tercapai dan tumpukan masih belum kosong, pop semua isi tumpukan dan tulis hasilnya.

Contoh:
1. A + B * C
Proses Ke- Karakter Dibaca Isi Stack Karakter Tercetak Notasi Prefix Terbentuk
1. C C C
2. * *
3. B * B BC
4. + + * *BC
5. A + A A*BC
6. + +A*BC

2. Notasi Infix
Salah satu pemanfaatan tumpukan adalah untuk menulis ungkapan menggunakan notasi tertentu. Dalam penulisan ungkapan khususnya ungkapan numeris, kita selalu menggunakan tanda kurung untuk mengelompokkan bagian mana yang harus dikerjakan lebih dahulu.
Contoh :
1. ( A + B ) * ( C – D )
Suku ( A + B ) akan dikerjakan lebih dahulu, kemudian suku ( C – D ) dan terakhir mengalikan hasil yang diperoleh dari 2 suku ini.
2. A + B * C – D
Maka B * C akan dikerjakan lebih dahulu diikuti yang lain.
Dalam hal ini pemakaian tanda kurung akan sangat mempengaruhi hasil akhir. Cara penulisan ungkapan sering disebut dengan “Notasi Infix” artinya operator ditulis diantara 2 operand.
3. Notasi Postfix
Notasi lain yang merupakan kebalikan notasi prefix adalah “Notasi Postfix” atau lebih dikenal dengan Notasi Polish Terbalik (Reverse Polish Notation atau RPN). Dalam hal ini operator ditulis sesudah operand. Sama halnya dengan notasi prefix disini juga diperlukan tanda kurung pengelompokan.
Proses notasi dari infix ke postfix adalah :
1. Ungkapan yang akan dikonversikan adalah: (A + B ) * ( C – D ).
2. Dengan menggunakan tanda kurung bantuan, ungkapan diatas diubah menjadi: [ A B + ] * [ C D - ]
3. Jika [ A B + ] kita misalkan P, dan [ C D - ] kita misalkan Q, maka ungkapan diatas dapat ditulis: P * Q
4. Selanjutnya notasi infix dirubah menjadi postfix yaitu: P Q *
5. Dengan mengembalikan P dan Q paada notasinya semula dan menghapus tanda kurung bantuan kita peroleh notasi postfix dari persamaan:
( A + B ) * ( C - D ) yaitu A B + C D - *
Contoh notasi infix ke postfix:
Infix Postfix
A + B – C A B + C –
( A + B ) * ( C – D ) A B + C D - *
A – B / ( C * D $ E ) - - -

Contoh soal:
1. A – B / ( C * D $ E )
D $ E = D E $ .... P
C * P = C P * .... Q
B / Q = B Q / .... R
A – R = A R –
= A B Q / -
= A B C P * / -
= A B C D E $ * / -


Algoritma Infix Ke Postfix:
Langkah 0:- Baca ungkapan dalam notasi infix, misalnya S;
- Tentukan panjang ungkapan tersebut, misalnya N;
- Siapkan sebuah tumpukan kosong dan siapkan derajat masing-masing operator. Misalnya: $ berderajat 3, * dan / berderajat 2, + dan – berderajat 1 dan (berderajat 0).
Langkah 1:
Dimulai dari I : 1 sampai N, kerjakan langkah-langkah berikut:
a. R = S ( I )
b. Test nilai R . Jika R adalah:
- Operand : Langsung ditulis
- Kurung buka : Push kedalam tumpukan
- Kurung tutup : Pop dan tulis semua isi tumpukan sampai ‘(‘, pop juga tanda ini tetapi tidak perlu ditulis
- Operator : Jika tumpukan kosong, atau derajat R lebih tinggi
dibanding derajat ujung tumpukan, push operator ke dalam tumpukan. Jika tidak pop ujung tumpukan dan tulis, kemudian ulangi perbandingan R dengan ujung tumpukan, lalu R di push.
Catatan: Kurung buka di dalam tumpukan dianggap mempunyai derajat yang lebih rendah dibanding R.
Langkah 2: Jika akhir notasi infix telah tercapai dan tumpukan masih belum kosong, pop semua isi tumpukan dan tulis hasilnya.
Contoh:
1. A + B * C
Proses ke- Karakter Dibaca Isi Stack Karakter Tercetak Notasi Postfix Terbentuk
1. A A A
2. + +
3. B + B AB
4. * *+
5. C *+ C ABC
6. + * ABC*
7. + ABC*+

Pengertian ARRAY



ARRAY


Array adalah kumpulan data bertipe sama yang menggunakan nama sama. Dengan menggunakan array, sejumlah variabel dapat memakai nama yang sama. Antara satu variabel dengan variabel lain di dalam array dibedakan berdasarkan subscript. Sebuah subscript berupa bilangan di dalam kurung siku.

Array dapat dibedakan menjadi :
1. Array berdimensi satu
2. Array berdimensi dua
3. Array berdimensi tiga

Array Berdimensi Satu

      Contoh array berdimensi satu, misalnya menginputkan 5 buah data temperatur. Dan kelima data tersebut disimpan pada array bernama suhu.

Contoh 1 :
#include
#include

void main()
{
float suhu[5];
// array dengan 5 elemen bertipe float
// Membaca data dari keyboard dan meletakkan ke array
cout << "Masukkan 5 buah data suhu" << endl;
for (int i=0; i<5; i++)
{
cout << i + 1 << " : "; cin >> suhu[i];
}

// Menampilkan isi array ke layar
cout << "Data suhu yang dimasukkan : " << endl;
for (i=0; i<5; i++)
cout << suhu[i] << endl;
}
Mendefinisikan array
Float suhu[5]; float : Tipe elemen array suhu : Nama array [5] : Jumlah elemen array Maka array suhu dapat menyimpan data sebanyak 5 buah.
2 Subscript dari array selalu dimulai dari nol. Misal, jika jumlah elemen array [5], maka index dari array tersebut yaitu 0, 1, 2, 3, 4. 2 Mengakses elemen array Setelah suatu array didefinisikan, elemen array dapat diakses dengan bentuk : suhu[i] menyatakan “elemen suhu dengan subscript sama dengan i” Perintah seperti cin >> suhu[i]; berarti “membaca data dari keyboard dan meletakkan ke elemen nomor i pada array suhu”.
Perintah seperti cout >> suhu[i]; berarti “menampilkan elemen bernomor i pada array suhu”.


Contoh 2 :
#include
#include

const int jum_data = 5;
void main()
{
float suhu[jum_data]; // array suhu
float total; // untuk menampung total suhu

// Membaca data dari keyboard dan meletakkan ke array
cout << "Masukkan 5 buah data suhu" << endl; for (int i=0; i<5; i++) { cout << i + 1 << " : "; cin >> suhu[i];
}
// Menghitung nilai rata-rata
total = 0; // Mula-mula diisi dengan nol
for(i=0; i<< "Suhu rata-rata= " << total/jum_data << endl; }
2 Memberikan nilai awal terhadap array Seperti halnya variabel biasa, array juga dapat diberi nilai awal (diinisialisasikan) pada saat didefinisikan. Misalnya: int jum_hari[12]={ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; Catatan: C++ secara otomatis akan memberikan nilai awal nol terhadap array yang bersifat global. Jika bersifat lokal, maka harus diatur terlebih dahulu. Contoh 3 : #include
#include
#include

void main()
{
// Pendefinisian array jum_hari dan pemberian nilai awal
int jum_hari[12]={ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
// Tampilkan isi jum_hari
cout << "Masukkan 5 buah data suhu" << endl; for (int i=0; i<12; i++) { cout << "jum_hari[" << i << "] =" << jum_hari[i] << endl; } } Array Berdimensi Dua Sebagai gambaran, data kelulusan dari jurusan Teknik Informatika, Manajemen Informatika, dan Teknik Komputer dari tahun 1992 hingga 1995. Nama 1992 1993 1994 1995 Teknik Informatika 35 45 80 120 Manajemen Informatika 100 110 70 101 Teknik Komputer 10 15 20 17
2 Mendefinisikan array berdimensi dua Bentuk diatas dapat dibentuk dalam array berdimensi dua, pendefinisiannya : int nilai[3][4]; Pada pendefinisian di atas : - 3 menyatakan jumlah baris (mewakili nama) - 4 menyatakan jumlah kolom (mewakili nilai) 2 Mengakses array berdimensi dua Masing-masing elemen di dalam array berdimensi dua dapat diakses dengan bentuk : Baris dan kolom dimulai dari 0. Contoh pengaksesan elemen array berdimensi dua : 1. data_lulus[1][2] = 5; Merupakan instruksi untuk memberikan nilai 5 ke baris 1 kolom 2. 2. cout << data_lulus[1][2]; Merupakan perintah untuk menampilkan elemen data_lulus dengan subscript pertama (baris) berupa 1 dan subscript kedua (kolom) bernilai 2. Contoh 4 : #include
#include

void main()
{
int data_lulus[3][4]; // Array berdimensi dua
int tahun, jurusan;

// Memberikan data ke elemen array data_lulus
data_lulus[0][0] = 35; // TI - 1992
data_lulus[0][1] = 45; // TI - 1993
data_lulus[0][2] = 90; // TI - 1994
data_lulus[0][3] = 120; // TI - 1995
data_lulus[1][0] = 100; // MI - 1992
data_lulus[1][1] = 110; // MI - 1993
data_lulus[1][2] = 70; // MI - 1994
data_lulus[1][3] = 101; // MI - 1995
data_lulus[2][0] = 10; // TK - 1992
data_lulus[2][1] = 15; // TK - 1993
data_lulus[2][2] = 20; // TK - 1994
data_lulus[2][3] = 17; // TK - 1995

// Proses untuk memperoleh informasi kelulusan
while(1)
{
cout << "Jurusan (0 = TI, 1 = MI, 2 = TK): "; cin >> jurusan;
if ((jurusan==0) || (jurusan==1) || (jurusan==2))
break; // keluar dari while
}
while(1)
{
cout << "Tahun (1992 - 1995): "; cin >> tahun;

if ((tahun >= 1992) && (tahun <= 1995)) { tahun -= 1992; // konversi ke 0, 1, 2 atau 3 break; // keluar dari while } } cout << "Jumlah yang lulus = " << data_lulus[jurusan][tahun] << endl; } Melewatkan Array Sebagai Argumen Fungsi
2 Array juga dapat berkedudukan sebagai parameter di dalam fungsi. Misalnya : const int MAKS = 5 int data[MAKS]; Dari data di atas, fungsi yang menerima array di atas dapat dibuat prototipe-nya sebagai berikut : void inisialisasi_data(data[MAKS]); Dan deklarasi fungsi sebagai berikut : void inisialisasi_data(data[], int & jumlah); Pada contoh kedua, tanda di dalam tanda [ ] tidak terdapat apa-apa dan parameter kedua digunakan untuk menyatakan jumlah elemen array serta berkedudukan sebagai referensi (bisa diubah dari dalam fungsi inisialisasi_data()). Contoh 5 : #include
#include
#include
#include

const int MAKS = 100;
void inisialisasi_data(int data[], int &jumlah);
void main()
{
int data_acak[MAKS]; // array berdimensi satu
int jumlah;
inisialisasi_data(data_acak, jumlah);

// Tampilkan elemen-elemen array
cout << "Isi array : " << endl; for(int i=0; i<< data_acak[i] << endl; } // Definisi fungsi void inisialisasi_data(int data[], int &jumlah) { while(1) { cout << "Berapa jumlah data yang ingin" << endl; cout << "dibangkitkan secara acak (5 - 100) ? "; cin >> jumlah;

if ((jumlah >= 5) && (jumlah<=100)) break; } randomize(); // Menyetel pembangkit bilangan acak for(int i=0; i
#include
#include

const int BARIS = 5;
const int KOLOM = 5;
void isi_matriks(float mat[][KOLOM], int &brs, int &kol);

void main()
{
float matriks[BARIS][KOLOM];
int jum_baris, jum_kolom;
int i,j;

isi_matriks(matriks, jum_baris, jum_kolom);
cout << "\nMatriks yang terbentuk: " << endl; cout << setiosflags(ios::fixed); // ios::fixed --> mengatur angka yg dimasukkan dalam bentuk angka biasa
// bukan dalam bentuk eksponen
for (i=0; i<< setw(12) << setprecision(5) << matriks[i][j]; // setprecision(5) --> mengatur banyak angka dibelakang koma
cout << endl; } } // Definisi Fungsi void isi_matriks(float mat[][KOLOM], int &brs, int &kol) { int i,j; cout << "Pastikan jumlah baris dan kolom" << endl; cout << "tidak melebihi 5" << endl; cout << "Jumlah baris = "; cin >> brs;
cout << "Jumlah kolom = "; cin >> kol;
for (i=0; i< brs; i++) for (j=0; j<< "Elemen " << i << ", " << j << " = "; cin >> mat[i][j];
}
}

2 Mengurutkan Data
Salah satu mengurutkan data adalah dengan menggunakan bubble sort. Pengurutan dilakukan dengan membandingkan setiap elemen dengan seluruh elemen yang terletak sesudah posisinya.

Contoh 7 :
#include
#include
#include

void main()
{
int i, j, tmp, jumdata;
int data[] = {5, 100, 20, 31, 77, 88, 99, 20, 55, 1};
jumdata = sizeof(data)/sizeof(int);

// Menampilkan data
cout << "Data semula: " << endl; for(i=0; i<< setw(4) << data[i]; cout << endl; // Pindah baris // Mengurutkan data for(i=0; i data[j])
{
tmp = data[i];
data[i] = data[j];
data[j] = tmp;
}

// Menampilkan data
cout << "Data setelah diurutkan: " << endl;
for (i=0; i
cout << setw(4) << data[i];
cout << endl; // Pindah baris
}

6/9/13

12 anime terbaik yang harus di tonton

One Piece
Tokoh utama dalam serial ini difokuskan pada Monkey D. Luffy dan anggota Kelompok Bajak Laut Topi Jerami. Yang berperan menjadi “orang jahat” dalam serial ini beragam, mulai dari bajak laut lain sampai anggota pemerintah (World governtment). Tetapi yang berperan sebagai musuh secara garis besar adalah pihak angkatan laut (Marine).

Fairy Tail

Seorang penyihir muda, Lucy Heartfilia, berkelana ke negara Fiore untuk bergabung dengan Guild Fairy Tail. Saat dalam perjalanan, ia bertemu dengan Natsu Dragneel, seorang pemuda yang tengah mencari naga bernama Igneel, bersama sahabatnya, Happy. Beberapa saat setelah pertemuan mereka, Lucy ditipu oleh Bora of Prominence, yang menyamar sebagai Salamander dari Fairy Tail, untuk dijual sebagai budak. Natsu menyelamatkan Lucy dan memberitahunya bahwa ialah Salamander yang asli dan memiliki kemampuan sihir Fire Dragon Slayer. Natsu menawarkan Lucy untuk bergabung dengan Fairy Tail, yang diterima Lucy dengan senang hati, dan mereka tergabung dalam tim untuk menjalankan berbagai misi untuk guild Fairy Tail. Di guild Fairy Tail, Lucy melewati banyak pengalaman-pengalaman dan membuatnya menyadari bahwa ia mencintai Fairy Tail.

Hunter x Hunter

Hunter × Hunter adalah serial manga karya Yoshihiro Togashi, yang bercerita tentang anak laki-laki berusia 12 tahun bernama Gon Freecss, dan usahanya untuk menemukan ayahnya, Ging Freecss. Ging adalah seorang Hunter, yang dalam cerita Hunter × Hunter yaitu anggota dari suatu kelompok elit yang memiliki segala macam izin untuk melakukan apapun dimanapun.

Shingeki no Kyojin


Shingeki no Kyojin Beberapa ratus tahun yang lalu, umat manusia hampir punah karena raksasa. Raksasa itu bertubuh besar, tidak memiliki intelektual, membenci manusia, dan yang paling buruk, mereka menganggap manusia sebagai makanan. Sisa-sisa manusia yang selamat membangun tembok yang sangat tinggi untuk melindungi mereka dari raksasa-raksasa

Lebih dari 100 tahun sejak kota itu berdiri. Remaja laki-laki Eren dan adik perempuannya Mikasa menyaksikan kejadian menakutkan dimana seorang raksasa super muncul dan menghancurkan kota. Raksasa lainpun turut muncul dan membanjiri kota, mereka berdua menyaksikan pemandangan mengerikan dimana ibunya dimakan hidup-hidup. Eren kemudian bersumpah akan membunuh semua raksasa demi umat manusia.


Beelzebub

Beelzebub bercerita tentang seorang pelajar SMA bernama Oga Tatsumi yang sangat senang sekali berkelahi dan tak terkalahkan, suatu hari dia menemukan bayi bernama Beelboy yang keluar dari tubuh pria kekar. Beelboy yang melihat wajah sangar dari Tatsumi pun langsung menyukainya dan tidak mau lepas darinya dengan terpaksa Tatsumi pun merawat bayi tersebut dengan dibantu teman setianya Furuichi Takayuki. Hilda adalah perempuan yang ditugaskan untuk menjaga Beelboy yang ternyata merupakan anak dari Demon Lord yang ditugaskan untuk menghancurkan dunia manusia. Tatsumi yang tak mau untuk merawat Beeboy pun berusaha mencari orang yang lebih "evil" dari dirinya agar Beelboy menjadi suka dengan orang tersebut dan meninggalkanya.

Fullmetal Alchemist: Brotherhood

Edward Elric dan Alphonse Elric awalnya hidup bahagia dengan orang tua mereka. Tetapi karena pekerjaan ayahnya adalah alkemist (ahli kimia), ayahnya yang bernama Van Hohenheim sering bepergian keluar rumah, sehingga Ed dan Al hanya tinggal bersama ibunya, Trisha Elric. Karena terlalu lelah mengurus rumah sendirian, Trisha jatuh sakit dan akhirnya meninggal. Ed dan Al yang saat itu masih kecil, namun sudah mewarisi bakat ayahnya sebagai alkemist mencoba menghidupkan kembali sang ibu. Namun, usaha mereka gagal. Tubuh Al diambil sebagai “biaya masuk” karena transmutasi manusia adalah hal tabu dalam alkimia. Ed yang panik akhirnya memindahkan roh Al ke dalam baju zirah dengan bayaran tangan kanannya dan kaki kirinya.

School Rumble

School Rumble berkisah tentang kehidupan sehari-hari siswa SMA Yagami. Tokoh utama cerita ini adalah Tenma Tsukamoto, seorang murid kelas 2 SMA yang mengidamkan Ooji Karasuma, seorang cowok pendiam dan dingin. Tenma mengalami kesulitan dalam mengungkapkan perasaan cintanya. Di saat yang sama, Kenji Harima, jagoan di SMA tersebut malah mencintai Tenma namun ia —seperti Tenma— mengalami kesulitan dalam mengungkapkannya. Perjuangan kedua tokoh tersebut menjadi masalah utama dalam cerita ini.

Dalam perkembangannya, cerita berkembang dan lebih menyorot hubungan antara Kenji dan teman dekat Tenma, Eri Sawachika, salah seorang perempuan yang populer di sekolah. Cerita —dibumbui dengan kekonyolan-kekonyolan— berputar pada kisah mereka.

Ada juga cerita dimana Kenji bekerja sebagai mangaka, dibantu oleh adik perempuan Tenma yang bernama Yakumo Tsukamoto. Karena Kenji merahasiakan pekerjaannya, Tenma menganggap bahwa Kenji dan adiknya itu berpacaran. Cerita kemudian berputar pada usaha-usaha Kenji untuk meyakinkan Tenma bahwa ia tidak berpacaran —bahkan, tidak tertarik— dengan adiknya.

Keadaan menjadi semakin rumit ketika Harima semakin merasa bahwa dirinya mencintai Tenma; hubungan antara Tenma dan Ooji semakin dekat; dan semakin menguatnya ikatan perasaan antara Eri dan Yakumo dengan Kenji.

Fate/Zero & Fate/Stay Night
Perang Cawan Suci-
Terobsesi oleh kekuatan "Cawan Suci" yang dapat menciptakan keajaiban, ini adalah kontes dimana tujuh majus memanggil tujuh roh para pahlawan untuk bertarung memperebutkan Cawan Suci tersebut. Di pertempuran dimana akhirnya telah ditunda tiga kali, sekarang, peperangan yang keempat kembali dimulai.
Emiya Kiritsugu. Seorang pria yang lebih keras daripada yang lainya, lebih kejam daripada yang lainya, dan seseorang yang mengejar keajaiban Cawan Suci.
Diceritakan dalam potongan-potongan kecil di dalam novel Fate/Stay Night, ini adalah Perang Cawan Suci Keempat 10 tahun yang lalu. Tirai yang menyelubungi kebenaran yang terhampar di balik pertempuran antara ayah angkat Shiro, ayah Rin, dan Kotomine Kirei muda, akhirnya diangkat

Elfen Lied

Para Diclonius, sebuah Homosapien bermutasi yang dikatakan dipilih oleh Tuhan dan akhirnya akan menjadi kehancuran umat manusia, memiliki dua tanduk di kepala mereka dan memiliki "indra keenam" yang memberikan mereka kemampuan telekinetic. Karena kekuatan ini berbahaya, mereka ditangkap dan terisolasi di laboratorium oleh pemerintah. Lucy, Diclonius muda dan psikotik, berhasil membebaskan diri dan membunuh dengan brutal sebagian besar penjaga di laboratorium tempat dia ditahan, dan ditembak di kepala saat melarikan diri. Dia bertahan, jatuh dari tebing ke laut dan hanyut ke pantai di mana dua remaja, Kouta dan Yuka, menemukan dia. Setelah kehilangan ingatannya, dia diberi nama dengan satu-satunya hal yang bisa dia katakan, "Nyuu," dan mereka berdua mengizinkannya untuk tinggal di rumah Kouta. Namun, tampaknya sisi psikotik Lucy belum hilang.

Hataraku Maou-sama

Raja Iblis Sadao' hanya satu langkah lagi untuk menaklukkan dunia ketika ia dipukul oleh 'Hero Emilia' dan dipaksa untuk melayang ke dunia lain: Tokyo zaman modern. Karena "menaklukkan dunia" adalah satu-satunya keterampilan yang dimiliki sang Raja Iblis, itu jelas tidak diperlukan dalam situasinya yang sekarang, sehingga ia harus bekerja sebagai freeter (kerja paruh waktu / part time) untuk membayar biaya hidupnya!

School Days

School days bercerita tentang kehidupan seorang siswa SMA Itou Makoto dan cinta segitiganya dengan Saionji Sekai dan Kotonoha Katsura. Dibantu oleh Sekai (yang sebenarnya menaruh hati pada Makoto), Makoto berhasil menjadi pacar Katsura. Ketiganya pun terikat dalam cinta segitiga yang akan merubah hidup mereka.

Another

Kisah anime Another sendiri dimulai dengan sebuah romur kematian seorang siswi kelas 3-3 di sebuah smp pada 26 tahun yang lalu. Siswi tersebut adalah Misaki, seorang anak perempuan yang tidak hanya pandai dan rupauan, tapi juga disukai oleh teman-teman dan guru disekolah tersebut. Suatu hari tiba-tiba meninggal dunia karena kecelakaan. Kematian Misaki yang tiba-tiba membuat teman-teman dan gurunya terkejut, dan entah mengapa, salah satu diantara mereka mulai menyangkal kematian Misaki. Semua anak kelas 3-3 mulai berlaku seolah-olah Misaki masih hidup, bahkan kepala sekolah pun mengatur agar kursi Misaki disediakan saat upacara kelulusan sekolah.


Kisah beralih ke bulan April tahun 1998. Kouichi Sakakibara adalah seorang siswa kelas 3 smp yang pindah dari Tokyo kesebuah kota dipelosok, Yomiyama (Yomikita). Dia jatuh sakit dan harus dirawat inap karena sakit paru-paru tepat disaat dia akan memulai sekolah barunya, SMP Yomiyama Utara. Satu hal yang aneh mereka(Tomohiko, Yukari, Izumi) yang menjenguk dari teman sekalasnya banyak melontarkan pertanyaan seolah ragu bahwa Kouichi baru pertama kali tinggal dikota tersebut. Suatu malam Kouichi tidak sengaja bertemu dengan anak perempuan berseregam SMP Yomikita didalam sebuah lift. Anak perempuan tersebut mengatakan bahwa ada sesuatu yang harus disampaikannya pada sebagaian dirinya diruang jenazah rumah sakit tersebut. Sebelum berlalu, gadis itu mengatakan bahwa namanya adalah Mei Misaki, ketika akhirnya Kouichi sembuh dan bersekolah, dia mendapati bahwa Mei ada diantara teman-teman sekelasnya. Anehnya, Mei selalu sendirian dan sepertinya tidak ada seorang pun yang menyadari keberadaan Mei.

6/8/13

Fate / Zero Season 1 & Season 2 Subtitle Indonesia


Title : Fate/Zero
Japanese Title : フェイト/ゼロ
Episodes : 13
Status : Finished Airing
Aired : Oct 2, 2011 to Dec 25, 2011
Producers : Aniplex, ufotable, Nitroplus, Aniplex of America, seikaisha, Notes
Genres : Action, Fantasy, Supernatural
Subtitle : English Sub & Indonesia Sub
Duration : 24 min. per episode
Rating : R - 17+ (violence & profanity)
 PLOT INDONESIA
Fate/Zero terjadi 10 tahun sebelum peristiwa malam Fate/stay, merinci peristiwa Perang Holy Grail yang keempat di Kota Fuyuki. Perang Holy Grail merupakan kontes dimana tujuh orang magi summon Heroic Spirits bersaing untuk mendapatkan kekuatan "Holy Grail", yang memberikan keajaiban besar. Setelah tiga perang tidak meyakinkan Holy Grail, Perang Keempat pun dimulai.
ENGLISH PLOT
Fate/Zero takes place 10 years prior to the events of Fate/stay night, detailing the events of the 4th Holy Grail War in Fuyuki City. The War of the Holy Grail is a contest in which seven magi summon seven Heroic Spirits to compete to obtain the power of the "Holy Grail," which grants a miracle. After three inconclusive wars for the elusive Holy Grail, the Fourth War commences.
(Mediafire Subtitle Indonesia)

Title : Fate/Zero 2nd Season
Japanese Title : フェイト/ゼロ 2ndシーズン
Episodes : 12
Status : Currently Airing
Aired : Apr 6, 2012 to Jun 24, 2012
Producers : Aniplex, ufotable, Nitroplus, Aniplex of America, seikaisha, Notes
Genres : Action, Fantasy, Supernatural, Thriller
Subtitle : English Sub & Indonesia Sub
Duration : 24 min. per episode
Rating : R - 17+ (violence & profanity)


Fate / Stay Night

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cheap international voip calls