Kamis, 05 Juli 2012

Simulasi Stack Pada c++

Pada algoritma dan pemrograman (bahasa c) terutama struktur data kita akan mengenal suatu konsep penyusunan data/array/elemen struktur dengan cara penumpukan atau yang biasa disebut dengan stack. Apa sih yang dimaksud dengan stack/tumpukan ini? Silahkan baca post ini selengkapnya

Contoh nyatanya bisa kita lihat di kehidupan sehari-hari misalnya tumpukan piring. Seorang ibu rumah tangga yang akan mencuci piring meletakkan sebuah piring kemudian disusul dengan menumpuk piring yang ke 2 diatas piring pertama dan seterusnya hingga piring ke 5. Ketika piring akan diambil untuk dicuci maka tentu saja yang pertama kali diambil adalah piring yang ke 5 atau tumpukan teratas.

Sama halnya dengan data pada konsep stack di algoritma dan pemrograman. Stack (tumpukan) inilah yang menerapkan konsep yang kita kenal dengan LIFO (Last-In-First-Out) atau FCLS (First-Come-Last-Serve), artinya elemen struktur yang dimasukkan ke dalam rangkaian terakhir kali maka akan muncul pertama kali apabila ditampilkan/dikeluarkan.

Pada konsep Last-In-First-Out, yang terakhir masuk yang pertama kali keluar. Jika ada sebanyak NOEL elemen pada sebuah stack, maka elemen ke-NOEL merupakan elemen TOP.

Berikut ini adalah operator-operator atau nama method yang biasa digunakan dalam pemrograman algoritma stack.

- PUSH: penyisipan (Memasukkan elemen).
- POP: penghapusan (Mengeluarkan elemen puncak).
- IsEmpty: operator yang memeriksa apakah stack kosong.
- IsFull: operator yang memeriksa apakah stack penuh.
- Clear: operator untuk menghapus stack.

Berikut contoh program stack pada c++:

Listing code program 1:

#include "iostream.h"
#include "stdio.h"
#include "conio.h"
#define size 5

struct stack
  {
    int a[size];
    int top;
  };

typedef struct stack STACK;

void push(STACK *p,int value) /* PUSH OPERATION */
  {
    if(p->top==size-1)
      cout<<"Stack Penuh!";
    else
      p->a[++p->top]=value;
  }

int pop(STACK *p) /* POP OPERATION */
  {
    if (p->top==-1)
    {
     cout<<"Stack Kosong!";
     return -1;
    }
    else
     return p->a[p->top--];
  }

void display (STACK *p) /*DISPLAY OPERATION */
  {
    int i;
    if(p->top==-1)
     cout<<"\nStack Kosong!\n";
    else
     cout<<"\nIsi Stack Adalah: \n";
     for (i=p->top;i>=0; --i)
     cout<a[i]<<"\n"; 
  }

void main()
{
  STACK s ;
  int x,i;
  s.top=-1;
  char pil;
  do {
     clrscr();
     printf("1. Tambah\n");
     printf("2. Hapus satu per satu\n");
     printf("3. Lihat Data\n");
     printf("4. Hapus Data\n");
     printf("5. Berhenti\n");
     printf("Silahkan masukkan pilihan anda (1-5)...  ");
     pil=getche();

        if(pil!='1' && pil !='2' && pil !='3' && pil!='4' && pil!='5' )
             printf("\n\nAnda salah mengetikkan inputan...\n");
             else
             {
          if(pil=='1')
          {
             cout<<"\nMasukkan Element: ";cin>>x;
                  push (&s,x);
          }
             else
             {
          if(pil=='2')
          {
             x=pop(&s);
             if(x!=-1)
                cout<<"\nElement yang Dihapus: "<

           getch();
          }
             else
          {
          if(pil=='3')
          {
             display(&s);
             getch();
          }
             else
          {
          if(pil=='4')
          {
             if(s.top==-1)
             printf("\nStack Kosong!\n");
             else
             printf("\nStack Dihapus!\n");
             for (i=s.top;i>=0; --i)
             printf("Element Yang Dihapus adalah %d\n",pop(&s));
             s.top=-1;
             getch();
          }}}
          }}}
             while(pil!='5');
}


Output:



Listing code program 2:


#include "stdio.h"
#include "string.h"
#include "conio.h"
#define DATA_MAX 100
char  nip[DATA_MAX][5];
char  nama[DATA_MAX][31];
char  asal[DATA_MAX][16];
float   gaji[DATA_MAX];
int      urutan;
char  cariNIP[5];
void main()
{
     char pil, menu = 0;
     int i;
     urutan = -1;
     while ( menu != '5' )
     {
         puts( "1. Tambah data" );
         puts( "2. Edit data" );
         puts( "3. Hapus data" );
         puts( "4. Daftar" );
         puts( "5. Keluar" );
         printf( "\nPilihan: " ); scanf( "%c", &menu );
         fflush( stdin );
         switch ( menu ) {
          case '1': ++urutan;
                        puts( "Tambah data" );
                        printf( "NIP: " ); gets( nip[urutan] );
                        printf( "Nama: " ); gets( nama[urutan] );
                        printf( "Asal: " ); gets( asal[urutan] );
                        printf( "Gaji: " ); scanf( "%f", &gaji[urutan] );
                        fflush( stdin );
                        puts( "\nSelesai. Tekan sembarang tombol" );
                        getch();
                        break;
          case '2': puts( "Edit data" );
                        printf( "NIP: " ); gets( cariNIP );
                       for ( i = 0; i <= urutan; i++ )
                            if ( strcmp(cariNIP, nip[i]) == 0 ) {
                                puts( "Ketemu" );
                                printf( "Nama: " ); gets( nama[i] );
                                printf( "Asal: " ); gets( asal[i] );
                                printf( "Gaji: " ); scanf( "%f", &gaji[i] );
                                fflush( stdin );
                                puts( "\nSelesai. Tekan sembarang tombol" );
                                getch();
                        break;
                     }
                  break;
        case '3': puts( "Hapus data" );
                  printf( "NIP: " ); gets( cariNIP );
                   for ( i = 0; i <= urutan; i++ )
                     if ( strcmp(cariNIP, nip[i]) == 0 ) {
                        puts( "Ketemu" );
                        printf( "Nama: %s \nAsal: %s \nGaji: %f", nama[i], asal[i], gaji[i] );
                        printf( "\n\nHapus data (Y/T)? " );
                        pil = getche();
                        if ( pil == 'Y' || pil == 'y' ) {
                         for ( int j = i+1; j <= urutan; j++ ) {
                               strcpy( nip[j-1], nip[j] );
                               strcpy( nama[j-1], nama[j] );
                               strcpy( asal[j-1], asal[j] );
                               gaji[j-1] = gaji[j];
                           }
                           --urutan;
                        }
                        break;
                     }
                  break;
        case '4': puts( "Lihat data" );
                  i = 0;
                 while ( i <= urutan ) {
                      printf( "NIP: %s\n", nip[i] );
                      printf( "Nama: %s\n", nama[i] );
                      printf( "Asal: %s\n", asal[i] );
                      printf( "Gaji: %f\n\n", gaji[i++] );
                  }
                  puts( "Selesai. Tekan sembarang tombol" );
                  getch();
                  break;
       }
    }
}


Output:


Listing code program stack 3:


#include "iostream.h"
#include "conio.h"
#include "stdlib.h"

int top,i;
char key,temp,e;
char stack[10];
void delay();

void pushanim()
{
 for(i=0;i<=17; i++)
 {
gotoxy(22+i,7);cout<<" ";
gotoxy(23+i,7); cout< }
 for(i=1;i<=(14-top);i++)
{
 delay();
gotoxy(40,6+i); cout<<" ";
gotoxy(40,7+i); cout< }
}
void popanim(char temp)
{
for(i=1;i<=(14-top);i++)
 {
 delay();
gotoxy(40,22-i-top); cout<<" ";
gotoxy(40,21-i-top); cout< }
 for(i=1;i<=19;i++)
 {
 delay();
gotoxy(38+i,7); cout<<" ";
gotoxy(39+i,7); cout< }
 gotoxy(58,7);cout<<" ";
}
void push(char e)
{
 top=top+1;
 stack[top]=e;
 pushanim();
}
void pop(char e)
{
 if(top !=0)
 {
  e=stack[top]; popanim(e);
  top=top-1;
 }
 else
 {
gotoxy(1,7); cout<<"stack telah kosong"<gotoxy(1,7);
}
}
void main()
{
clrscr();
cout<<"Animasi Stack"<cout<<"1.Push"<cout<<"2.Pop"<cout<<"3.quit"<//cout<<"pilih [1/2/3] ="<gotoxy(59,6); cout<<"=";
gotoxy(59,8); cout<<"=";
gotoxy(37,9); cout<<"||   ||";
for(i=1;i<=11;i++)
 {
gotoxy(38,10+i);
if(i==11)
cout<<"|___|";
else
cout<<"|   |";
}
top=0;
do
{
input:
gotoxy(1,5);
cout<<"masukkan pilihan anda[1/2/3] : ";
key=getche();
if(int(key)==27 || key=='3')
break;
else if(key=='1')
{
if(top != 10)
{
gotoxy(1,7); cout<<"masukkan suatu huruf : ";
cin>>temp;
push(temp);
gotoxy(1,7); cout<<"                      ";
}
else
{
gotoxy(1,7); cout<<"stack penuh";
getch();
gotoxy(1,7); cout<<" ";
}
}
else if(key=='2')
pop(temp);
else
goto input;
}while(1);
getch();
}
void delay()
{
for(int y=1;y<100;y++)
for(int x=1;x<100;x++)
for(int p=1;p<100;p++)
cout<<"";
}


Output:


DataBase Dalam Visual Basic

A. Pengertian Visual Basic

Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program perangkat lunak berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman (COM), Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan pengembangan perangkat lunak komputer berbasis grafik dengan cepat, Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda.[1] Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic Program-program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi luar tambahan.[1] Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar yang sangat luas.[1]Dalam sebuah survey yang dilakukan pada tahun 2005, 62% pengembang perangkat lunak dilaporkan menggunakan berbagai bentuk Visual Basic, yang diikuti oleh C++, JavaScript, C#, dan Java.

B. Perkembangan Visual Basic

VB 1.0 dikenalkan pada tahun 1991, pendekatan yang dilakukan untuk menghubungkan bahasa pemrograman dengan GUI berasal dari prototype yang dikembang oleh “Alan Cooper” yang di sebut TRIPOD, Kemudian Microsoft mengontrak copper dan asosiasinya untuk mengembangkan tripod agar dapat digunakan di windows 3.0 di bawah nama kode Ruby. Berikut Perjalanan Visual Basic (VB 1.0 Sampai VB 10) : Perjalanan dari Visual Basic (VB1 to VB 10):

1. Proyek “Thunder” dirintis
2. Visual Basic 1.0 (May 1991) di rilis untuk windows pada COMDEX/Windows Wordltrade yg dipertunjukan di Atlanta , Georgia
3. Visual Basic 1.0 untuk DOS dirilis pada bulan September 1992. Bahasa ini tidak kompatibel dengan Visual Basic For Windows. VB 1.0 for DOS ini pada kenyataaanya merupakan versi kelanjutan dari compiler BASIC, QuickBasic dan BASIC Professional Development System.
4. Visual Basic 2.0 dirilis pada November 1992, Cakupan pemrogramannya cukup mudah untuk digunakan dan kecepatannya juga telah di modifikasi. Khususnya pada Form yg menjadikan object dapat dibuat secara seketika, serta konsep dasar dari Class modul yg berikutnya di implementasikan pada VB 4.
5. Visual Basic 3.0 , dirilis pada musim panas 1993 dan dibagi menjadi versi standard dan professional. VB 3 memasukan Versi 1.1 dari Microsoft Jet Database Engine yg dapat membaca serta menulis database Jet (atau access) 1.x
6. Visual Basic 4.0 (Agustus 1995) merupakan versi pertama yg dapat membuat windows program 32 bit sebaik versi 16 bit nya. VB 4 juga memperkenalkan kemampuan untuk menulis non-GUI class pada Visual Basic
7. Visual Basic 5.0 (February 1997), Microsoft merilis secara eksklusif Visual basic untuk versi windows 32 bit . Programmer yg menulis programnya pada versi 16 bit dapat dengan mudah melakukan import porgramnya dari VB4 ke VB5. dan juga sebaliknya, program VB5 dapat diimport menjadi VB4. VB 5 memperkenalakan kemampuan untuk membuat User Control.
8. Visual Basic 6.0 (pertengahan 1998) memperbaiki beberapa cakupan, temasuk kemapuannya untuk membuat Aplikasi Web-based . Visual Basic 6 di jadwalkan akan memasuki Microsoft “fasa non Supported” dimulai pada maret 2008.

1. Visual Basic .NET, dirilis pada tahun 2002, Beberapa yang mencoba pada versi pertama .NET ini mengemukakan bahwa bahasa ini sangat powerful tapi bahasa yg digunakan sangat berbeda dengan bahasa sebelumnya, dengan kekurangan diberbagai area, termasuk runtime-nya yang 10 kali lebih besar dari paket runtime VB6 serta peningkatan penggunan memory.
2. Visual Basic .NET 2003, dirilis dengan menggunakan NET framework versi 1.1.
3. Visual Basic 2005, merupakan itegrasi selanjutnya dari Visual Basic .NET. dan Microsoft memutuskan untuk menghilangkan kata kata .NET pada judulnya. Pada Rilis ini , Microsoft memasukan bebrapa fitur baru, diantaranya : Edit and Continue , mungkin inilah kekurangan fitur terbesar dari VB .NET. pada VB 2005 ini kita diperbolehkan melakukan perubahan kode pada saat program sedang dijalankan Perbaikan pada Konversi dari VB ke VB NET12 Visual Basic .NET 2003 (VB 7.1) , dirilis dengan menggunakan NET Kerangka kerja versi 1.1. IsNot Patent, merupakan salah satu fitur dari Visual Basic 2005 merupakan konversi If=Not X Is Y menjadi If X IsNot Y.
4. Visual Basic 2005 Express , merupakan bagian dari Product Visual Studio. Microsoft membuat Microsoft Visual Studio 2005 Express edition untuk pemula dan yang gemar dengan VB, salah satu produknya adalah Visual Basic 2005 Express yg merupakan produk gratis dari Microsoft.
5. Visual Basic “Orcas”, dijadwalkan akan dirilis pada tahun 2007 dan dibangung diatas .NET 3.5. Pada rilis ini , Microsoft menambahkan beberapa fitur , diantaranya : True Tenary operator , yaitu fungsi If(boolean,value, value) yg digunakan untuk menggantikan fungsi IIF, LINQ Support, Ekspresi Lambda, XML Literals, Nullable types, Type Inference
6. Visual Basic ‘VBx’, Visual Basic 10, yang juga dkenal dengan nama VBx, akan menawarkan dukungan untuk Dynamic Language Runtime. VB 10 direncanakan akan menjadi bagian da 15. an dari SilverLight 1.1

C. Pengertian Database

Database adalah kumpulan beberapa data yang saling berhubungan
berdasarkan kode-kode tertentu sehingga membentuk sebuah sistem.
Secara hirarki database bisa digambarkan sebagai berikut :


Character sebagai satuan data terkecil dikumpulkan menjadi field (kolom),
kumpulan field membentuk sebuah record (baris), beberapa record disimpan dalam file
(tabel), dan kumpulan file akan membentuk sebuah database. Ada beberapa tipe field yang digunakan dalam pembuatan tabel pada database
Visual Basic 6.0 :


ADO Data Control Akses Database Melalui Propertis Objek ADO

A. Mempersiapkan Database

Dalam membuat database kita bisa menggunakan berbagai macam komponen yang terdapat dalam toolbox pada visual basic. Tapi kali ini, saya akan post membuat database dengan menggunakan Adoc Control. Untuk itu buatlah terlebih dahulu file database access dengan nama file Inventori.mdb. Dalam database tersebut buatlah sebuah table dengan nama Pelanggan, dengan struktur data sebagai berikut :


Setelah itu, isilah table tersebut dengan beberapa record saja.

B. Membuat user interface akses database

1. Pilih menu Add-ins, dan pilih visual menager. Maka akan muncul jendela VisData.


2. Pilih menu file, new, Microsoft access lalu pilih Versio 7.0 MDB
3. Pada kotak dialog Select Microsoft Access Database to Create, tentukan folder dan nama database yang ingin disimpan (simpan dengan nama file Inventori). Buat folder tersebut berekstensi .mdb. Lalu pilih save, dan akan muncul kotak dialog seperti berikut:


4. Klik kanan pada properties, lalu pilih new table. dan akan muncul jendela seperti berikut:


5. Ketikan nama tabel dengan nama Data_Pemesanan_Tiket pada table name.
6. Lalu pilih add field.
7. Tambahkan beberapa add field ke dalam jendela add field, sehingga terlihat seperti berikut:


8. Setelah semua add field selesai ditambahkan, plih close.
9. Pada jendela Dynaset:Data_Pemesanan_Tiket, pilih add untuk menambahkan data, dan pilih update untuk menyimpan data.
10. Dalam project tersebut buat form baru (simpan dengan nama file frmPelanggan).
11. Tambahkan objek tool Adodc control dengan memilih menu Project, Components, lalu pilih Microsoft ADO Data Control 6.0 (OLEDB), lalu klik ok.
12. Buatlah objek-objek seperti terlihat pada gambar berikut (beri nama objek sesuai keterangan gambar):


5. Tentukan properties lain tiap objek di atas seperti berikut :


Untuk properti pada objek Adodc1, ubah nilai properti ConnectionString dengan cara berikut :






6. Klik tombol OK, lalu klik OK lagi. Setelah itu ubah properti RecordSource (untuk menentukan nama tabel/query/sql statement sebagai sumber data yang akan diakses) seperti petunjuk gambar berikut :


7. Kemudian tuliskan kode program di bawah ini pada tiap event objek berikut :

Pada Event Adodc1_MoveComplete ketiklah perintah berikut :

Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
DataPelanggan.Caption = "Record ke : " & DataPelanggan.Recordset.AbsolutePosition
End Sub

Private Sub Combo1_Change()
If Combo1.Text = "Laki-laki" Then
txtJk = -1
Else
txtJk = 0
End If
End Sub

Private Sub Command1_Click()
DataPelanggan.Recordset.AddNew
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = True
Command4.Enabled = True
Command5.Enabled = True
Command6.Enabled = True
End Sub

Private Sub Command2_Click()
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = True
Command4.Enabled = True
Command5.Enabled = True
Command6.Enabled = True
End Sub

Private Sub Command3_Click()
DataPelanggan.Recordset.Update
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = False
Command4.Enabled = False
Command5.Enabled = False
Command6.Enabled = False
End Sub

Private Sub Command4_Click()
DataPelanggan.Recordset.CancelUpdate
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = False
Command4.Enabled = False
Command5.Enabled = False
Command6.Enabled = False
End Sub

Private Sub Command5_Click()
jwb = MsgBox("Yakin mau dihapus ", vbQuestion + vbYesNo, "Hapus Data")
If jwb = vbYes Then
DataPelanggan.Recordset.Delete
End If
End Sub

Private Sub Command6_Click()
Unload Me
End Sub 8.

Jika selesai simpan form dan project Anda, kemudian lihat hasil database dengan menggunakan database adoc control:

Rabu, 20 Juni 2012

Sejarah Europa Cup

Sejarah Piala Euro 1960



Sejarah Piala Euro 1964



Sejarah Piala Euro 1968


Sejarah Piala Euro 1972


Sejarah Piala Euro 1976


Sejarah Piala Euro 1980


Sejarah Piala Euro 1984


Sejarah Piala Euro 1988


Sejarah Piala Euro 1992


Sejarah Piala Euro 1996


Sejarah Piala Euro 2000


Sejarah Piala Euro 2004


Sejarah Piala Euro 2008

Fakta Unik di Balik Warna Bendera Indonesia



1. Seluruh negara Asia Tenggara pasti memiliki warna Merah dan Putih dalam benderanya (kecuali Vietnam).

Jadi, 8 dari 9 negara tetangga kita di Asia Tenggara memiliki warna Merah Putih dalam bendera kebangsaannya.

- Malaysia : merah, putih, biru, kuning
- Singapura : merah, putih
- Brunei : kuning, hitam, merah, putih
- Thailand: merah, putih, biru
- Filipina: merah, putih, biru, kuning
- Kamboja: merah, putih, biru
- Myanmar: merah, putih, biru
- Laos: merah, putih, biru

Ajaib bukan?

Masih belum puas?

- Amerika Serikat: merah, putih, biru
- Rusia: merah, putih, biru
- Jepang: merah, putih
- Perancis: merah, putih, biru
- Italia: merah, putih, hijau
- Inggris: merah, putih, biru

2. Merah Putih merupakan pasangan warna tertua dalam budaya banyak negara dunia.

* Di antara pakaian yg digemari oleh Nabi Muhammad SAW adalah pakaian putih dan pakaian merah.

dalil2 haditsnya::

o Dari Jabir bin Samurah ra : “Saya ketika itu melihat Nabi berpakaian merah, lalu saya membandingkannya dengan bulan. Ternyata dalam pandangan saya, beliau lebih indah daripada bulan.” (HR. Abu Ya’la dan Al-Baihaqi)
o Ibnu Qudamah berkata, “Pakaian yg paling utama adalah pakaian yg berwarna putih karena Nabi bersabda, ‘Sebaik-baik pakaian kalian adalah yg berwarna putih.

* Di negeri2 Melayu serta dalam budaya Nusantara, kita sangat mengenal bubur merah bubur putih.

* Di Jepang, ada istilah “kouhaku” dimana dalam suatu pertandingan maka satu pihak berwarna merah (kou / beni) dan satu pihak lagi berwarna putih (haku / shiro).

Kouhaku: Hanya ada dua tim, tim Merah melawan tim Putih.:



* Perang Saudara Rusia dan Perang Saudara Finlandia adalah peperangan antara Tentara Merah dan Tentara Putih.

* Di Cina, Merah adalah warna keberuntungan & dipakai untuk acara pernikahan. Angpao dalam masyarakat Tionghoa biasa diberikan dalam amplop Merah. Sebaliknya, Putih merupakan lawan dari warna Merah, karena Putih biasanya diartikan sebagai warna berduka. Jadi, Merah dan Putih ini berpasangan.

* Dalam budaya Kristiani, Yesus sering dilukiskan berpakaian Merah & Putih.
Warna Merah & Putih juga merupakan salah satu warna utama dalam Natal (lihat pakaian Sinterklas). Tidak pernahkah terpikir dalam otak agan kenapa Sinterklas tidak berpakaian Hitam & Putih saja misalnya?

* Ada 150 negara yang menyertakan warna Merah pada Bendera Nasional kebangsaannya.

3. Secara anatomi, Merah Putih merupakan warna tertua dalam tubuh manusia. Sejak janin dibentuk di dalam rahim, maka ia terdiri atas darah & daging (merah) dan tulang (putih). Dalam darah manusia, juga ada Sel Darah Merah & Sel Darah Putih !

4. Secara geologi, Merah & Putih merupakan representasi dua unsur alami yang terpanas dan terdingin di bumi. Yang terpanas adalah lava / inti bumi (berwarna merah), dan yang terdingin adalah salju (berwarna putih).



Lho, apa hubungannya? Nah, baca lagi yg di atas. Merah dan Putih itu merupakan representasi dari benda terpanas dan terdingin di planet ini !

5. Secara optik, Merah adalah warna dengan frekuensi cahaya paling rendah yg masih dapat ditangkap mata manusia dengan panjang gelombang 630-760 nm. Di sisi lain, bila seluruh warna dasar digabung dengan porsi dan intensitas yg sama, maka akan terbentuk warna Putih.

6. Cahaya Merah adalah cahaya yg pertama diserap oleh air laut, sehingga banyak ikan dan invertebrata kelautan yg berwarna Merah. Di sisi lain, riak gelombang air laut selalu terlihat berwarna Putih. Jadi, bisa dikatakan, Merah Putih itu sendiri merupakan simbolisasi dari laut itu sendiri. Tak heran, Indonesia yg merupakan negara maritim / negara kepulauan memilih untuk memiliki bendera Merah Putih !



Harapan:

1. Agar setiap anak bangsa Indonesia bangga akan bendera kebangsaannya !
2. Agar setiap anak bangsa menghargai jasa serta pengorbanan para pendahulu kita, yg telah berkorban harta, jiwa & raga demi tegaknya bendera lambang kedaulatan bangsa kita !





Bagi yg menyangka bahwa bendera kita adalah hasil sobekan dari bendera Belanda, silakan baca fakta sejarah ! Justru Merah Putih merupakan warna asli Indonesia !

1. Warna Merah Putih diambil dari warna Kerajaan Majapahit. Sebelum Majapahit, kerajaan Kediri telah memakai panji2 Merah Putih.

2. Selain itu, bendera perang Sisingamangaraja IX dari tanah Batak pun memakai warna Merah Putih sebagai warna benderanya, bergambar pedang kembar warna Putih dengan dasar Merah Menyala dan Putih. Warna Merah & Putih ini adalah bendera perang Sisingamangaraja XII. Dua pedang kembar melambangkan Piso Gaja Dompak, pusaka raja-raja Sisingamangaraja I-XII.

3. Ketika terjadi Perang Aceh, pejuang Aceh telah menggunakan bendera perang berupa umbul2 dengan warna Merah & Putih, berlatar pedang, bulan sabit, matahari dan bintang serta ayat suci Al Qur’an.

4. Di zaman kerajaan Bugis Bone, bendera Merah Putih adalah simbol kekuasaan dan kebesaran kerajaan Bone. Bendera Bone itu dikenal dengan nama Woromporang.

5. Pada waktu perang Jawa (1825-1830 M) Pangeran Diponegoro memakai panji2i berwarna Merah Putih dalam perjuangannya melawan Belanda.

6. Bendera yg dinamakan Sang Merah Putih ini pertama kali digunakan oleh para pelajar dan kaum nasionalis pada awal abad ke-20 di bawah kekuasaan Belanda.

7. Sang Saka Merah Putih yg dikibarkan pada saat Proklamasi Kemerdekaan 17 Agustus 1945 dijahit oleh Ibu Fatmawati, istri Bung Karno, pada tahun 1944, berukuran 276 x 200 cm.

8. Perihal perobekan bendera Belanda di Hotel Yamato, Surabaya, itu terjadi jauh setelah Proklamasi Kemerdekaan, tepatnya pada tanggal 19 September 1945. Sedangkan pada Proklamasi Kemerdekaan 17 Agustus 1945, kita sudah mengibarkan bendera Merah Putih. Jadi, tidak benar Merah Putih kita adalah hasil menyobek bendera Belanda !
Sumber: Fakta Unik