Monday, 7 April 2014

Hanya Syair . . . .

Hanya Syair . . . .




Semua orang tertawa di dunia saya

Rumor menyebar tentang Orang lain ini
Apakah Anda melakukan apa yang Anda lakukan dengan saya

Apakah dia mencintaimu dengan cara yang saya temukan
Apakah Anda lupa semua rencana yang Anda buat dengan saya

Menyebabkan saya tidak sayang

seharusnya saya yang memegang tangan Anda
seharusnya saya yang membuat Anda tertawa
seharusnya saya ini yang sangat menyedihkan
Yang seharusnya saya
Yang seharusnya saya
seharusnya saya yang merasakan kasih sayang Anda
seharusnya saya yang memberi Anda hadiah

Ini sangat salah
Aku tidak bisa terus
Sampai kau percaya
Itu yang seharusnya saya
 Yang seharusnya saya

Kau bilang kau butuh sedikit waktu dari kesalahan saya

Lucu bagaimana Anda menggunakan waktu itu untuk memiliki penggannti saya
Apakah Anda berpikir bahwa aku tidak akan melihat Anda keluar di bioskop
Apa yang kau lakukan padaku
Kau membawanya di mana kita digunakan untuk pergi
Sekarang jika Anda mencoba untuk menghancurkan hatiku
Ini bekerja karena Anda tahu
Saya perlu tahu yang seharusnya saya berjuang untuk cinta

atau melucuti

Ini semakin sulit untuk melindungi

Perih ini adalah hatiku



Saturday, 5 April 2014

Linux itu [TIDAK] Gratis but it Free

Linux itu [TIDAK] Gratis but it Free



Pernahkah Anda mendengar suatu pernyataan yang mengatakan bahwa Linux itu gratis ? Saya yakin ... semua pengguna komputer, baik yang belum, sedang, akan atau telah menggunakan Linux pasti pernah mendengar pernyataan semacam ini.

Benarkah Linux itu gratis ...???

It's not about Free ... it's FREEDOM

Linux itu Free ... begitu banyak pernyataan yang sering kita dengarkan. Kata Free jika diartikan dalam bahasa Indonesia ternyata mempunyai 2 arti, yaitu gratis dan bebas. Kata gratis dan bebas jelas berbeda artinya. Misalnya kata Free Sex ... pernahkah Anda mengartikannya sebagai sex gratis ... ? Tentu saja tidak, karena dalam hal ini free sex mempunyai arti sex bebas yang artinya jelas sangat berbeda dengan sex gratis.

Nah, sayangnya di Indonesia ternyata banyak orang lebih suka mengkaitkan Linux dengan arti kata gratis, bukannya bebas atau merdeka. Padahal ... Richard Stallman - pendiri Free Software Foundation (FSF), dalam bukunya Free as in FREEDOM - lebih mengkaitkan Linux dengan kata bebas atau merdeka, bukannya gratis.

Jadi, Linux - menurut pendiri FSF - bukanlah berbicara tentang Free (Gratis), tapi Freedom (Kebebasan).

Kesalahan tentang Linux yang terus berlanjut

Namun ... entah mengapa di Indonesia kata kebebasan dan kemerdekaan ternyata lebih sulit diucapkan daripada kata gratis. Tidak mengherankan jika sampai sekarangpun masih cukup banyak penggiat Linux yang lebih suka menyebutkan Linux itu Gratis daripada Bebas atau Merdeka.

Tapi sebetulnya, sedikit banyak hal ini bisa kita mengerti ... karena ternyata usaha untuk memasyarakatkan Linux di Indonesia memang bukanlah pekerjaan mudah. Banyak pengguna komputer di Indonesia yang sudah terbuai dan terlelap dengan kenyamanan penggunaan perangkat lunak bajakan dan bahkan sudah terikat erat pada belenggu perangkat lunak seperti halnya pecandu rokok atau narkotika yang susah melepaskan ketergantungannya.

Itulah sebabnya mengapa kata gratis lebih banyak dipakai untuk memperkenalkan Linux daripada kata bebas atau merdeka. Karena pada kenyataannya memang lebih mudah untuk menyodorkan sesuatu yang gratis daripada mengajak seseorang untuk berjuang melepaskan diri dari kenyamanan yang sudah mengikat dan membelenggunya selama berpuluh-puluh tahun.

Mengapa Linux dikomersilkan ?

Pertanyaan berikutnya ... kalau Linux memang gratis, mengapa harus dikomersilkan ?
Apakah diperbolehkan dan pantas memperdagangkan sesuatu jika ternyata itu bisa kita dapatkan secara gratis ...?

Sebelum menjawabnya, coba Anda jawab pertanyaan-pertanyaan berikut ini :

* Pernahkah Anda melihat situs yang memperdagangkan CD / DVD Linux ...?
* Pernahkah Anda melihat majalah tentang Linux dijual toko-toko buku ...?
* Pernahkah Anda melihat penerbit buku ternama menjual buku-buku Linux ?
* Pernahkah Anda membaca penawaran pelatihan Linux yang ternyata tidak murah harganya ...?

Apa jawaban Anda ...? Tidak pernah ...? Bohong ...!!!
Bahkan di situs inipun Anda jelas-jelas bisa melihat CD/DVD/Buku Linux dijual ... dan tidak diberikan secara gratis.

Bahkan kalau mau diperpanjang lagi, daftar pihak yang mengkomersilkan Linux ternyata sangat panjang, dan juga sudah merambah ke perusahaan skala multinasional. Tidak percaya ...?!!!

Mengapa perusahaan besar menjual Linux ?

Coba simak daftar perusahaan besar berikut ini yang telah mengkomersilkan Linux :

* Motorola, Panasonic, HTC, Samsung, OpenMoko, Accton, Grundig, DLink, Haier, dan masih banyak lagi telah menjual ponsel berbasis Linux (lihat di situs Linux Devices)
* HP, Dell, Everex, Asus, Acer dan masih banyak perusahaan komputer lainnya menjajakan Linux untuk komputernya.
* Disney/Pixar, Dreamworks, Sony, ILM dan banyak studio film lainnya menggunakan Linux untuk memproduksi film-filmnya. Apakah Anda bisa melihat film-filmnya secara gratis ... ? tentu saja tidak. Bahkan untuk melihat film bajakannyapun Anda tidak bisa mendapatkannya secara gratis.
* Google - si raksasa mesin pencari - ternyata menggunakan Linux untuk komputernya, tapi mengapa juga ikut mengkomersilkan produknya (baca : AdWords) ?
So, what open-source software does Google use itself?
DiBona: We use the Linux kernel. We've got the GNU tools, we use a lot of the compiler collection from the Free Software Foundation (FSF). We use some Apache libraries--we don't use the Apache Web servers so often, but we do use a lot of their libraries. We use a lot of OpenSSL and OpenSSH. We use languages like Python and C. We use a fair amount of MySQL, all kinds of things.
* Microsoft - si raksasa perangkat lunak yang menganggap Linux sebagai kanker - ternyata kemudian juga mengkomersilkan Linux melalui tangan rekanannya, Novell.

Jadi ... kalau Linux memang Gratis, mengapa begitu banyak pihak yang mengkomersilkannya ...? Apakah layak dan pantas mengkomersilkan 'barang gratisan' seperti Linux ?

Linux itu [TIDAK] Gratis
Betul ... Linux itu [pada dasarnya memang] Gratis ...!
Namun untuk mendapatkan sesuatu yang gratispun terkadang tidak bisa kita dapatkan secara gratis ... Bingung ?!! Contoh berikut memperjelas apa yang dimaksud diatas :

* Request CD Linux ke Canonical : bayar akses Internet dan listrik plus biaya pos
* Minta CD Linux dari Pemerintah : dananya dari mana ? pejabat ... ? enggaklah, semua itu dibayar dari duit rakyat.
* Download Linux langsung dari Internet : bayar akses Internet dan listrik plus kemudian burning ISOnya ke CD/DVD
* Pesan CD/DVD dari toko Linux : bayar beberapa ribu sampai ratusan ribu bahkan jutaan rupiah
* Copy CD/DVD Linux dari teman : bayar CD/DVD kosong dan listrik untuk burning
* Langganan Majalah Linux : bayar beberapa puluh ribu rupiah setiap bulan
* Belajar dari buku Linux : keluar duit buat beli di toko-toko buku
* Belajar dari tempat pelatihan Linux : lagi-lagi bayar, dan biasanya tidak murah
* Iklan di Google Adwords yang ternyata juga pakai Linux : siapa bilang gratis ...?
* Beli Motorola Krave yang Linux-based : bayar juga bro .. mana ada yang gratis ?
* Beli Asus EeePC yang juga Linux-based : gratis ...? bisa ...! nanti saya minta Asus jadi sponsor situs PC LINUX buat bagi-bagi EeePCLinux gratis

Apakah Anda masih yakin bahwa Linux itu 100% gratis ... ? Atau Anda masih tetap ngotot menginginkan Linux secara gratis seperti yang terjadi di percakapan ini (lucu tapi cukup menjengkelkan, dan sayangnya hal seperti ini banyak ditemui di Indonesia .

Jelas sudah bahwa apa yang didengung-dengungkan sebagai Linux itu Gratis adalah suatu kebohongan besar. Jangan pernah percaya kalau ada yang berkata Linux itu gratis. Untuk mendapatkan Kebebasan dan Kemerdekaan Linux jelas ada harga yang harus dibayar. Apalagi jika Anda ingin meraih kebebasan dan melepaskan diri dari belenggu perangkat lunak bajakan, tentu saja ada perjuangan yang tidak akan pernah bisa Anda dapatkan secara gratis.

Bahkan bangsa kitapun harus berjuang keras untuk melepaskan diri dari belenggu penjajahan. Hal yang sama juga berlaku bagi kita jika ingin mendapatkan Kebebasan dan Kemerdekaan Linux. Anda harus berani berjuang untuk melepaskan diri dari kenyamanan yang telah disediakan oleh perangkat lunak bajakan selama berpuluh-puluh tahun. Ada harga yang harus Anda bayar untuk meraih Freedom (Kebebasan dan Kemerdekaan), dan tentu saja itu tidak bisa didapatkan secara Free (gratis).

Percayalah teman ... perjuangan itu perlu. Terbelenggu 28 tahun (baca Sejarah Sistem Operasi Dari Dos, Windows sampai Linux) bukan berarti kita harus menyerah kalah pada keadaan dan menjadikannya sebagai alasan untuk terus terikat pada belenggu kenyamanan perangkat lunak bajakan. Bahkan setelah 350 tahun-pun kita masih bisa bangkit meraih kebebasan dan kemerdekaan.

Namun ... tentu saja kita tidak perlu mengulang kesalahan itu sekali lagi. Cukup sudah 28 tahun untuk terbelenggu, Anda tidak perlu menunggu 350 tahun lagi. Perjuangan untuk meraih Kebebasan dan Kemerdekaan ini memang berat dan tentu saja tidak Gratis. Namun, jika Anda ingin melihat Indonesia Bangkit, mulailah dari diri Anda sendiri, mulailah dengan membebaskan isi komputer Anda dari belenggu perangkat lunak bajakan.

Jadi ... sekali lagi jangan pernah percaya kalau ada yang berkata Kebebasan dan Kemerdekaan Linux itu Gratis.

Linux ... Free as in FREEDOM
 Imagine a place …
Where everything is possible
Where everyone can fly
Be Linux ... Be Free

Cara Mengunci Folder Tanpa Software



Halo sobat . . saya mau share cara mengunci folder tanpa software . oke langsung saja . 
Untuk mengunci folder tanpa sofware ini sangatlah mudah, caranya adalah sebagai berikut :
1. Bukalah Notepad dengan car klik start > All Programs > Accessories > Notepad
Atau di Run klik start > Run / logo window + r
2. Setelah itu anda tinggal meng-copy script yang telah saya sediakan di bawah ini ke dalam notepad:

cls
@ECHO OFF
title Folder Locker
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST Locker goto MDLOCKER
:CONFIRM
echo Are you sure you want to Lock the folder (Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Locker "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder locked
goto End
:UNLOCK
echo Enter password to Unlock folder
set/p "pass=>"
if NOT %pass%==type your password here goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Locker
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDLOCKER
md Locker
echo Locker created successfully
goto End
:End

4. setelah di paste  ganti kata type your password here dengan password sesuka anda, untuk membuka folder pada nantinya tapi jangan sampai lupa password anda. setelah selesai simpan dengan nama sesuka anda saya menyimpannya dengan nama "lock.bat" yang penting ekstensinya ***.bat

5. Double klik pada lock.bat yang sudah anda buat tadi dan beberapa detik kemudian akan muncul sebuah folder yang bernama Locker .

6. Simpanlah file-file anda yang ingin anda kunci di dalam folder yang bernama locker tersebut. Di dalam folder tersebut bisa kita letakkan file apa saja yang kita inginkan dengan ekstensi file yang berbeda. Baik itu file gambar, music, video, document, dan file-file lainnya.

7. Setelah semua file yang diinginkan tersimpan. Dan Double klik lagi pada dukun.bat   Lalu akan muncul tulisan are you sure want to lock the folder?(Y/N). Ketik “y” dan tekan enter untuk yes dan ketik “n” lalu tekan enter untuk no. Sekedar informasi tulisan are you sure want to lock the folder? yang ada pada script awal (default) bisa kita ubah sesuai keinginan kita. Seperti : apakah saudara yakin ingin mengunci folder ini? dan sebagainya.

8. Jika yang anda simpan adalah file penting, usahakan file yang anda simpan ini jangan sampai didelete oleh orang lain. Anda bisa mengantisipasinya dengan mengaktifkan fasilitas hidden file dan tidak menampakkan file-file yang ter-hidden sehingga orang lain tidak bisa menghapus file anda. cara ini ada pada postingan yang lalu.

Cara membuat distro linux sendiri

Cara membuat distro linux sendiri



  1. Masuk ke http://susestudio.com
  2. Login dulu pakai akun social network kamu
  3. klik Create new appliance
  4. Pilih template OS yang kamu mau
  5. Pilih tipe OS antara 32 atau 64 bit
  6. Beri nama Distro Linux besutan kamu
  7. Klik Create Appliane
  8. Kamu akan dibawa ke halaman welcome, klik tab Software
  9. Pilih software apa saja yang yang ingin kamu includekan ke intaller kamu
  10. Klik tab Configuration
  11. Ada beberapa sub tab:
    Pada sub tab General:
       -pilih bahasa dan keybord input Distro linux kamu
       -sesuaikan Region dan Time Zone nya
       -atur Network, Firewall dan User dan Account
             
    Pada sub tab Personalize:
        -upload logo dan Background

    Pada sub tab StartUp:
        -atur Default Runlevel
        -masukkan EULA kamu sendiri


    Kamu boleh melewati sub tab Server, Desktop, Appliance, dan Scripts bila kamu anggap konfigurasi ini terlalu rumit.
  12. Klik tab File bila kamu ingin menambahkan file dalam distro linux buatanmu
  13. Konfigurasi selesai. Kamu tinggal meng-compile distro linux buatanmu di tab Build.
  14. Sebelum meng-compile, sesuaikan dulu versi distro linuxmu
  15. Dan sebelum klik tombol Build, pilih dalam bentuk apa distro linux kamu
  16. Tunggu sampai proses building selesai. Biasanya memakan waktu 5-10 menit
  17. Isep rokok, sruput kopi kamu dulu..
  18. Setelah selesai, ada tiga pilihan *Testdriver, *Download, dan *View Files
  19. Sebelum kamu download, ada baiknya kamu testdrive dulu agar kamu tau bagaimana Distro Linux buatanmu berjalan nantinya. Langsung saja klik Testdrive.


Cara Earn Token Top Eleven via Ponsel Android

Cara Earn Token Top Eleven via Ponsel Android



Selamat Malam sobat A.B-gers tadi ane kan udah share Cara Mendapatkan Token Tambahan/Earn Token Top eleven Be a Football Manager Via PC nahh sekarang ane mau share cara eran token top elen buat para Newbie Lewat ponsel android sobat semua . .langsung saja hehe . .

Cara Earn Melalui Android :

1.Download My Tapjoy
2.Download Hotsport'shild/ SoloVpn(anonymox)
3.Lalu Login Akan ada Tulisan Login atau Create Acount....Klik yang Create Acount terus isi Email Top eleven sobat atau Facebook terus Sama Paswordnya lalu jangan lupa juga isi Tanggal Lahir di situ usahaKan 18+ lalu Klik Creat Acount.(jangan Klik melalui FB).
4.Usahakan tiap earn melalui tapjoy,sampai Log'out dari Aplikasi Top eleven sobat...karena dapat menyebabkan Token tidak masuk..
5.Untuk Newbie jangan coba-coba earn Melaui PC Atau Laptop karena dapat merusak Akun Kalian Masing-masing atau Offer rusak.Lebih Baik earn Melaui Android Lebih Mudah Dan tidak beresiko....(untuk Survey dari My Tapjoy isi data-datanya Berdasarkan Ip Kalian....cari di sini ....
 6.Semoga Bermanfaat...

Cara mendapat token tambahan/earn token Top Eleven Be a Football Manager Via PC

Cara mendapat token tambahan/earn token Top Eleven Be a Football Manager Via PC



Jumpa lagi dengan AB.blogspot nih sobat . .
pada postingan kali ini ane mau share cara mendapat token tambahan di game facebook top eleven be a football manager. .dengan cara earn token . .berikut caranya . .

1. Instal Anonymox di mozila firefox (googling cara instal Anonymox)
2. Buka Facebook
3. Buka Topeleven
4. Klik Win Tokens
5. Klik MATOMY
6. Aktifkan Anonymox nya (logo Anonymox berwarna merah = tdk aktif, berwarna hijau = aktif).
7. Klik Offer Status (akan muncul tab baru).
8. Buka tab videonya lagi, baru deh pilih video yg ingin di tonton (klik play)
9. Setelah video diputar (reload tab offer status nya sampai ada tulisan COMPLETED).
10. Jika statusnya sudah completed video bisa diclose tanpa harus menunggu selesai, begitu seterusnya.
11. Matikan Anonymox, lalu reload Top Eleven.
12. Bila butuh data orang USA buka www.fakenamegenerator.com


Selamat mencoba . .

Site map

Contoh Program Stack  Singgle Linked list

Contoh Program Stack Singgle Linked list

                                               

#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
class node {
   public:
   class node *next;
   int data;
 
};  
class stack : public node {
   node *head;
   int tos;
public:
   stack() {
   tos=-1;
}
void push(int x) {
 if (tos < 0 ){
head =new node;
head->next=NULL;
head->data=x;
tos ++;
}
 else {
node *temp,*temp1;
temp=head;
if(tos >= 4) {
cout <<"stack over flow";
return;
}
tos++;
while(temp->next != NULL)
temp=temp->next;
temp1=new node;
temp->next=temp1;
temp1->next=NULL;
temp1->data=x;
}
}
void display() {
    node *temp;
    temp=head;
if (tos < 0) {
    cout <<" stack under flow";
    return;
}
while(temp != NULL)
{
    cout <<temp->data<< " ";
    temp=temp->next;
}
}
void pop() {
node *temp;
temp=head;
if( tos < 0 ) {
cout <<"stack under flow";
return;
}
tos--;
while(temp->next->next!=NULL) {
temp=temp->next;
}
temp->next=NULL;
}
};
int main() {
stack s1;
int ch;
while(1) {
cout <<"\n1.Tambah\n2.Ambil\n3.Tampilkan\n4.Keluar\n  Masukan Pilihan Anda : ";
cin >> ch;
switch(ch) {
case 1: cout <<"\n Masukan Elemen : ";
cin >> ch;
s1.push(ch);break;
case 2: s1.pop();break;
case 3: s1.display(); break;
case 4: exit(0);
}
}
return (0); }

Output :


   

Thursday, 3 April 2014

Contoh Program Kalkulator Sistem Bilangan,  Desimal ke Heksadesimal dan Oktal

Contoh Program Kalkulator Sistem Bilangan, Desimal ke Heksadesimal dan Oktal

#include <iostream>
#include <cstring>
using namespace std;

int main(){
int bil;
cout<<"masukan nilai : ";
cin>>bil;
cout<<"desimal\t\t:"<<bil<<endl;
cout<<"heksadesimal\t:"<<hex<<bil<<endl; //hex : desimal jadi heksadesimal
cout<<"oktal\t\t:"<<oct<<bil<<endl; //oct : desimal jadi oktal
cout<<"Kembali Ke Desimal\t\t:"<<dec<<bil<<endl; //dec : mengembalikan  ke bntuk desimal

}


Output :

Contoh Program Manipulasi Setw Setfill C++

Contoh Program Manipulasi Setw Setfill C++

#include <iostream>
#include <iomanip>
using namespace std;
int main(){
int bil = 23;
char st[] = "tegar";

cout<<bil<<endl;
cout<<setw(4) <<bil<<endl;
cout<<setw(5) <<bil<<endl;

cout<<bil<<endl;
cout<<setw(6)<<setfill(' ')<<bil<<endl;
cout<<setw(7)<<setfill('*')<<bil<<endl;

cout<<st<<endl;
cout<<setw(6)<<setfill(' ')<<st<<endl;
cout<<setw(7)<<setfill('*')<<st<<endl;

}

Output :


Contoh Program Kalkulator scientific Sederhana dengan C++

Contoh Program Kalkulator scientific Sederhana dengan C++

#include <cstdlib>
#include <iostream>
#include <math.h>
#include <cmath>

using namespace std;
class kalkulator{

      public:
             void pemilihan();
             void akar();
             void pangkat();
             void sinus();
             void cosinus();
             void tangen();
             void casin();
             void cacos();
             void catan();
             void cexp();
             void clog();
     private:
              float a,b,hasil;
     };

void kalkulator::pemilihan(){
     int p;
     cout<<"                ============================"<<endl;
     cout<<"                program kalkulator scientific"<<endl;
     cout<<"                ============================"<<endl;
     cout<<endl;
     cout<<"======================================================="<<endl;
     cout<<"Daftar Operasi Yang Bisa Dikerjakan Oleh Kalkulator Ini"<<endl;
     cout<<"======================================================="<<endl;
     cout<<endl;
     cout<<"1.akar\t\t6.asin\n";
     cout<<"2.pangkat\t7.acos\n";
     cout<<"3.sin\t\t8.atan\n";
     cout<<"4.cos\t\t9.exponen\n";
     cout<<"5.tan\t\t10.log\n";
     cout<<endl;
     cout<<"masukkan no operator yang akan anda pergunakan : ";
     cin>>p;
     system ("cls");
     switch(p){
               case 1 : akar();system ("PAUSE");system ("cls");
     return pemilihan();break;
               case 2 : pangkat();system ("PAUSE");system ("cls");
     return pemilihan();break;
               case 3 : sinus();system ("PAUSE");system ("cls");
     return pemilihan();break;
               case 4 : cosinus();system ("PAUSE");system ("cls");
     return pemilihan();break;
               case 5 : tangen();system ("PAUSE");system ("cls");
     return pemilihan();break;
               case 6 : casin();system ("PAUSE");system ("cls");
     return pemilihan();break;
               case 7 : cacos();system ("PAUSE");system ("cls");
     return pemilihan();break;
               case 8 : catan();system ("PAUSE");system ("cls");
     return pemilihan();break;
               case 9 : cexp();system ("PAUSE");system ("cls");
     return pemilihan();break;
               case 10: clog();system ("PAUSE");system ("cls");
     return pemilihan();break;
               default:
                       cout<<"Anda memilih nomer yang salah......!!!"<<endl;
                       cout<<"silahkan coba lagi"<<endl;
                       system ("PAUSE");system ("cls");
     return pemilihan();break;}
                       }

void kalkulator::akar(){
     cout<<"            ============================="<<endl;
     cout<<"              Anda memilih operasi akar"<<endl;
     cout<<"            ============================="<<endl;
     cout<<endl;
     cout<<"Masukan inputan untuk akar              : ";
     cin>>a;
     hasil=sqrt(a);
     cout<<"hasil akarnya adalah                    : "<<hasil<<endl;

     }
void kalkulator::pangkat(){
     cout<<"               =============================="<<endl;
     cout<<"                Anda memilih operasi pangkat"<<endl;
     cout<<"               =============================="<<endl;
     cout<<endl;
     cout<<"Masukan inputan yang dipangkatkan       : ";
     cin>>a;
     cout<<"Masukan inputan untuk pangkatnya        : ";
     cin>>b;
     hasil=pow(a,b);
     cout<<"hasil pangkatnya adalah                 : "<<hasil<<endl;

     }
void kalkulator::sinus(){
     cout<<              "=============================="<<endl;
     cout<<"                Anda memilih operasi sinus"<<endl;
     cout<<"              =============================="<<endl;
     cout<<endl;
     cout<<"Masukan inputan  sinus                  : ";
     cin>>a;
     hasil=sin(a);
     cout<<"hasil sinusnya adalah                   : "<<hasil<<endl;

     }
void kalkulator::cosinus(){
     cout<<"               =============================="<<endl;
     cout<<"                Anda memilih operasi cosinus"<<endl;
     cout<<"               =============================="<<endl;
     cout<<endl;
     cout<<"Masukan inputan untuk cosinus           : ";
     cin>>a;
     hasil=cos(a);
     cout<<"hasil cosinusnya adalah                 : "<<hasil<<endl;

     }
void kalkulator::tangen(){
     cout<<"              ============================="<<endl;
     cout<<"               Anda memilih opersi tangen"<<endl;
     cout<<"              ============================="<<endl;
     cout<<endl;
     cout<<"Masukan inputan untuk tangen            : ";
     cin>>a;
     hasil=tan(a);
     cout<<"hasil tangennya adalah                  : "<<hasil<<endl;

     }
void kalkulator::casin(){
     cout<<"             ============================="<<endl;
     cout<<"               Anda memilih opersi asin"<<endl;
     cout<<"             ============================="<<endl;
     cout<<"Masukan inputan untuk asin              : ";
     cin>>a;
     hasil=asin(a);
     cout<<"hasil asinnya adalah                    : "<<hasil<<endl;

     }
void kalkulator::cacos(){
     cout<<"             ============================="<<endl;
     cout<<"               Anda memilih opersi acos"<<endl;
     cout<<"             ============================="<<endl;
     cout<<"Masukan inputan untuk acos              : ";
     cin>>a;
     hasil=acos(a);
     cout<<"hasil acosnya adalah                    : "<<hasil<<endl;

     }
void kalkulator::catan(){
     cout<<"             ============================="<<endl;
     cout<<"               Anda memilih opersi atan"<<endl;
     cout<<"             ============================="<<endl;
     cout<<"Masukan inputan untuk atan              : ";
     cin>>a;
     hasil=atan(a);
     cout<<"hasil atannya adalah                    : "<<hasil<<endl;

     }
void kalkulator::cexp(){
     cout<<"            ============================="<<endl;
     cout<<"             Anda memilih opersi exponen"<<endl;
     cout<<"            ============================="<<endl;
     cout<<"Masukan inputan untuk exponen           : ";
     cin>>a;
     hasil=exp(a);
     cout<<"hasil exponennya adalah                 : "<<hasil<<endl;

     }
void kalkulator::clog(){
     cout<<"            ============================="<<endl;
     cout<<"               Anda memilih opersi log"<<endl;
     cout<<"            ============================="<<endl;
     cout<<"Masukan inputan untuk log               : ";
     cin>>a;
     hasil=log(a);
     cout<<"hasil lognya adalah                     : "<<hasil<<endl;

     }              
int main()
{
    kalkulator x;
    x.pemilihan();
    system("PAUSE");
    return EXIT_SUCCESS;
}

Output :

Contoh Program Pembayaran Rumah Sakit Menggunakan Struct , Pointer & Malloc di C++

Contoh Program Pembayaran Rumah Sakit Menggunakan Struct , Pointer & Malloc di C++

#include<iostream>
#include<stdlib.h>
using namespace std;
struct rumkit{
string *nama,*bangsal;
double hari, botol;
void setmasukan(double hri, double btol);
double biayainap();
double biayainfus();
double total();
};
void rumkit::setmasukan(double hr,double bt){
hari = hr;
botol = bt;

}
double rumkit::biayainap(){
return hari*10000;
}
double rumkit::biayainfus(){
return botol*5000;
}
double rumkit::total(){
return biayainap()+biayainfus();
}
int main(){
cout<<"--------------------------------\n";
cout<<"\tRumah Sakit Saya \n";
cout<<"--------------------------------\n";
rumkit saya;
string nama,bangsal;
saya.nama=(string*)malloc(sizeof(string));
saya.bangsal=(string*)malloc(sizeof (string));
cout<<"Masukkan nama anda :";
cin>>nama;
cout<<"Masukkan Bangsal Yang Ditempati:";
cin>>bangsal;
double day,inpus;
cout<<"Masukkan Berapa hari menginap: ";
cin>>day;
cout<<"Masukkan berapa botol infus yang digunakan: ";
cin>>inpus;
saya.setmasukan(day,inpus);
*saya.nama=nama;
*saya.bangsal=bangsal;
cout<<"--------------------------------\n";
cout<<"\tRumah Sakit Saya \n";
cout<<"--------------------------------\n";
cout<<"Nama:"<<*saya.nama<<endl;
cout<<"Bangsal No:"<<*saya.bangsal<<endl;
cout<<"Biaya Inap: "<<saya.biayainap()<<endl;
cout<<"Biaya Infus: "<<saya.biayainfus()<<endl;
cout<<"Total Biaya: "<<saya.total();
}

Output :

Definisi Dan Contoh Program Menggunakan Struktur

Definisi Dan Contoh Program Menggunakan Struktur



STRUKTUR


     Struktur adalah sekumpulan variabel yang masing-masing dapat berbeda tipe, dan dikelompokkan ke dalam satu nama (menurut Pascal, struktur juga dikenal sebagai record). Struktur membantu mengatur data-data yang rumit, khususnya dalam program yang besar, karena struktur membiarkan sekelompok variabel diperlakukan sebagai satu unit daripada sebagai entity yang terpisah.

Salah satu contoh struktur tradisional adalah record daftar gaji karyawan, dimana karyawan digambarkan dengan susunan lambang seperti nama, alamat, nomor jaminan sosial, gaji dan sebagainya. Beberapa dari lambang tersebut biasanya berupa struktur, nama mempunyai komponen begitu juga alamat dan gaji.

Struktur ini sering digunakan untuk mendefinisikan suatu record data yang disimpan di dalam file. Struktur termasuk ke dalam tipe data yang dibangkitkan (derived data type), yang disusun dengan menggunakan obyek tipe lain.

Contoh :

          struct mhs
          {
                   char *nama;
                   char *nim;
                   int tts, tas;
                   float akhir;
                   char aksara;
          }

Kata kunci struct menunjukkan definisi struktur, dan identitas mhs menunjukkan structure tag. Dengan demikian terdapat tipe data baru bernama struct mhs, yang terdiri dari nama mahasiswa, nilai tes tengah semester, tes akhir semester, nilai akhir, dan huruf aksara, yang masing-masing disebut dengan field.

Dapat dituliskan dengan :
          struct mhs x, y[100], *z;

Variabel x adalah variabel tunggal, y adalah variabel array dengan 100 lokasi memori, dan z adalah variabel pointer, yang kesemuanya masing-masing berisi field di atas. Jadi, variabel y adalah daftar nama, nilai tts, tas, akhir, dan huruf aksara dari 100 mahasiswa.

Sehingga dapat ditulis :

          struct mhs
          {
                   char *nama;
                   char *nim;
                   int tts, tas;
                   float akhir;
                   char aksara;
          } x, y[100], *z;

Inisialisasi juga dapat dilakukan dengan :

          struct mhs x = { “Garfield”, 80, 60, 76.8, ‘A’ };

Untuk mengakses anggota dari struktur digunakan salah satu dari dua operator, yaitu operator titik (.), atau operator panah (->) tergantung tipe variabel yang dideklarasikan. Jika variabel tunggal (misal x) maka digunakan operator titik, sedangkan jika variabel pointer (misal z) digunakan operator panah.

Contoh :

          printf (“%s”, x.nama);
          printf (“%s”, z->nama);


DASAR STRUKTUR


Misal ada permasalahan grafis yang melibatkan koordinat x dan y. Objek dasar yang akan dibuat struktur adalah titik koordinatnya, yang diasumsikan sebagai koordinat x dan y dan keduanya bilangan bulat.

Deklarasi dari koordinat x dan y adalah :

          struct point
          {
                   int x;
                   int y;
          };

kata kunci struct mengenalkan deklarasi struktur yang mana deklarasi list terlampir di kurung kurawal { }. Nama pilihan yang disebut structure tag mengikuti kata struct.

Deklarasi struktur yang tidak diikuti oleh variabel list tidak menyediakan tempat penyimpanan; deklarasi struktur hanya menjelaskan template atau bentuk struktur. Kalau deklarasi di tag, tag dapat digunakan dalam definisi contoh struktur. Sebagai contoh, memberikan deklarasi point diatas.

          struct point pt;

Variabel pt yang berupa struktur tipe struct poin. Sebuah struktur dapat diletakan di depan dengan mengikuti difinisinya dengan daftar inisialisasi, masing-masing adalah lambang konstanta.

STRUKTUR DAN FUNGSI


Operasi yang sering diterapkan pada struktur adalah proses menyalin atau menunjukkan struktur sebagai unit, menggunakan alamatnya dan mengakses anggotanya. Copy dan assignment mencakup memberi argumen ke fungsi dan menghasilkan nilai dari fungsinya juga. Struktur tidak bisa dibandingkan.

Struktur dapat diletakkan di awal oleh daftar value konstanta dan otomatis juga dapat ditempatkan di awal oleh operasi assignment. Sebuah struktur otomatis mungkin juga diletakkan di depan oleh tugas atau oleh panggilan fungsi yang menghasilkan struktur jenis yang tepat.
Untuk menghubungkan nama struktur dan nama anggota digunakan simbol “.”
Contoh :

/*Program : struct1.cpp*/
#include <stdio.h>
struct time
{
int jam;
int min;
};
struct rencana {
struct time awal;
struct time akhir;
int y;
int z;
};
struct rencana kerja = { 11,22,33,44,5,6 };

funct(struct rencana oo);

main()
{
kerja.akhir.min = 40;
kerja.z = 66;
printf("proses main sebelum ke fungsi\n%d %d %d %d %d %d\n", kerja.awal.jam, kerja.awal.min, kerja.akhir.jam, kerja.akhir.min, kerja.y,kerja.z);

funct(kerja);      /* pengiriman struktur kerja ke fungsi */

printf("proses main sesudah ke fungsi\n%d %d %d %d %d %d\n", kerja.awal.jam, kerja.awal.min, kerja.akhir.jam, kerja.akhir.min, kerja.y,kerja.z);
}

funct(struct rencana oo)
/* nilai struktur kerja disalinkan ke oo */
{
printf("dalam fungsi (a)\n%d %d %d %d %d %d\n", oo.awal.jam, oo.awal.min, oo.akhir.jam,oo.akhir.min, oo.y, oo.z);
oo.awal.jam = 111;
oo.y = 555;       /* ubah nilai dalam fungsi */

printf("dalam fungsi (a)\n%d %d %d %d %d %d\n", oo.awal.jam, oo.awal.min, oo.akhir.jam,oo.akhir.min, oo.y, oo.z);
}

Bila program dijalankan maka :

          proses main sebelum ke fungsi
          11  22  33  40  5  66
          dalam fungsi (a)
          11  22  33  40  5  66
          dalam fungsi (a)
          111  22  33  40  555  66
          proses main sesudah ke fungsi
11  22  33  40  5  66



ARRAY DALAM STRUKTUR

Array disini berfungsi untuk menyimpan nama dan bilangan bulat yang akan digunakan dalam proses perhitungan.

Contoh :

// Program : struct2.cpp

#include <iostream.h>
#include <string.h>
#include <stdlib.h>

struct movies_t {
char title [50];
int year;
} mine, yours;

void printmovie (movies_t movie);

int main ()
{
char buffer [50];

strcpy (mine.title, "Finding Nemo");
mine.year = 2003;

cout << "Masukkan judul film favorit: ";
cin.getline (yours.title,50);
cout << "Masukkan tahun: ";
cin.getline (buffer,50);
yours.year = atoi (buffer);

cout << "Judul film favorit yang ada:\n ";
printmovie (mine);
cout << "Judul film favorit kamu adalah:\n ";
printmovie (yours);
return 0;
}

void printmovie (movies_t movie)
{
cout << movie.title;
cout << " (" << movie.year << ")\n";
}

Bila program diatas dijalankan maka hasilnya adalah :
          Masukkan judul file favorit : Avp
          Masukkan tahun : 2004
          Judul film favorit yang ada :
          Finding Nemo (2003)
          Judul film favorit kamu adalah :
          Avp (2004)

Dapat dilihat deklarasi array dalam struktur terletak pada char title[50]; dimana dalam title dapat menyimpan judul film sebanyak 50 tempat dan title ini terletak pada :

struct movies_t {
char title [50];
int year;
} mine, yours;

Contoh :
         
// Program : struct3.cpp
// array of structures
#include <iostream.h>
#include <stdlib.h>

#define N_MOVIES 5

struct movies_t {
char title [50];
int year;
} films [N_MOVIES];

void printmovie (movies_t movie);

int main ()
{
char buffer [50];
int n;
for (n=0; n<N_MOVIES; n++)
{
                        cout << "Masukkan judul film: ";
cin.getline (films[n].title,50);
cout << "Masukkan tahun : ";
cin.getline (buffer,50);
films[n].year = atoi (buffer);
}
cout << "\nFilm yang menjadi favorit kamu:\n";
for (n=0; n<N_MOVIES; n++)
printmovie (films[n]);
return 0;
}

void printmovie (movies_t movie)
{
cout << movie.title;
cout << " (" << movie.year << ")\n";
}

Bila program diatas dijalankan maka hasilnya adalah :
          Masukkan judul file favorit : Matrix
          Masukkan tahun : 2002
          Masukkan judul file favorit : Alien Vs Predator
          Masukkan tahun : 2004
          ...
            Film yang menjadi favorit kamu :
          Matrix (2002)
          Alien Vs Predator (2004)

Deklarasi array dalam struktur terletak pada char title [50]; dan #define N_Movies 5, sehingga 5 buah data film harus dimasukkan.

POINTER DALAM STRUKTUR


Misalkan sebuah pointer yaitu ptpelajar, yang menunjuk kepada sebuah data yang mempunyai struktur PELAJAR seperti berikut :
          struct PELAJAR *ptpelajar;

Seperti pada pointer yang lain, deklarasi tersebut tidak menyediakan sebarang tempat untuk record PELAJAR. Perlu dibuat record baru yang fungsinya menggantikan pointer. Misalnya pelajar_baru.
          ptpelajar = &pelajar_baru;

Dengan kondisi tersebut, pointer ptpelajar boleh digunakan untuk menggantikan tempat alamat pelajar_baru, dan pointer ptpelajar ini ditunjukkan dengan menggunakan simbol ->.

Contoh :
ptpelajar->nama = Jill Valentine;
ptpelajar->nim = 672009001;
ptpelajar->fakultas = Teknologi Informasi;
ptpelajar->tahun = 2009;
ptpelajar->alamat = Salatiga;

Sama dengan :
*ptpelajar.nama = Jill Valentine;
*ptpelajar.nim = 672009001;
*ptpelajar.fakultas = Teknologi Informasi;
*ptpelajar.tahun = 2009;
*ptpelajar.alamat = Salatiga;

Contoh :

// Program : struct4.cpp
#include <iostream.h>
struct time {
int jam;
            int min;
};
struct rencana {
struct time *awal;    /* penunjuk bagi struktur */
struct time *akhir;
};
struct time jk = { 1,2 };
struct time kl = { 3,4 };
struct rencana kerja = { &jk,&kl };

main()
{
kerja.akhir->min = 37;
cout << kerja.awal->jam << " " <<  kerja.awal->min << "  "
<< kerja.akhir->jam << " " << kerja.akhir->min << endl;
}

Bila program diatas dijalankan maka hasilnya adalah :
          1 2 3 37
STRUKTUR YANG MENUNJUK DIRINYA SENDIRI

Struktur yang mempunyai sifat menunjuk dirinya sendiri dapat dilihat pada contoh deklarasi berikut ini :
struct tnode {
                   char *perkataan;
          int *perkiraan;
                   struct tnode *kiri;
          struct tnode *kanan;
};

TYPEDEF

Kata kunci typedef merupakan mekanisme untuk membuat sinonim atau alias dari tipe data yang telah didefinisikan sebelumnya.

Contoh :
          typedef struct mhs MHS;

Dari deklarasi tersebut dapat didefinisikan sebuah tipe data baru bernama MHS sebagai sinonim untuk struct mhs. Pernyataan struct mhs dapat diganti dengan MHS saja.

Contoh :
          typedef int PANJANG;

Jenis PANJANG boleh digunakan untuk deklarasi variabel yang lain.

Contoh :
PANJANG len, maxlen;
PANJANG *lengths[];

Sama dengan :
          int len, maxlen;
          int *lengths[];

Contoh :

// Program : struct5.cpp
#include <stdio.h>
main()
{
static struct s1 {
char c[4], *s;
} s1 = { "abcd", "fghi" };

static struct s2 {
char *cp;
struct S1 ss1;
} s2 = { "klmn", { "pqrs", "uvwxy" } };

printf("s1.c[2] = %c, *s1.s = %c\n", s1.c[2], *s1.s);
printf("s1.c = %s  s1.s = %s\n", s1.c, s1.s);
printf(" s2.cp = %s  s2.ss1.s = %s\n", s2.cp, s2.ss1.s);
printf("++s2.cp = %s ++s2.ss1.s = %s\n",++s2.cp, ++s2.ss1.s);
}

Bila program tersebut dijalankan maka :

          s1.c[2] = c, *s1.s = f
          s1.c = abcd s1.s = fghi
          s2.cp = klmn   s2.ss1.s = uvwxy
          ++s2.cp = lmn   ++s2.ss1.s = vwxy

Penggunaan typedef terletak pada variabel s1 dan s2 yang mempunyai panjang karakter yang berbeda dan nantinya pada waktu dicetak akan menghasilkan output sesuai kondisi pada program.


UNION


Sama seperti struct, union juga merupakan tipe data yang dibangkitkan, dimana anggotanya menggunakan secara bersama ruang penyimpanan memori yang sama, berbeda dengan struktur yang masing-masing variabel menempati lokasi memori yang berbeda.

Jumlah bytes yang digunakan untuk menyimpan union adalah sedikitnya cukup untuk menyimpan data terbesar yang ditangani. Tipe union umumnya digunakan untuk menangani satu, dua, atau tiga variabel dengan tipe yang mirip.

Contoh :

//Program:struct6.cpp
#include <iostream.h>
typedef union int_or_float {
int n;
float x;
} number;

main()
{
number temp;
temp.n = 4444;
cout << "(a) temp.n = " << temp.n << " temp.x = " << temp.x << endl;
temp.x = 4444.0;
cout << "(b) temp.n = " << temp.n << " temp.x = " << temp.x << endl;
temp.n = 4444;
cout << "(c) temp.n = " << temp.n << " temp.x = " << temp.x << endl;
}

Bila program dijalankan, maka :
          (a) temp.n = 4444   temp.x = 0.574484
          (b) temp.n = -8192   temp.x = 4444
          (c) temp.n = 4444   temp.x = 4418.169922

Output pada baris (b), nilai temp.n berubah karena tempatnya telah digunakan untuk menempatkan temp.x. Hal sebaliknya terjadi kepada nilai temp.x pada baris (c).




Output program akan berbeda jika deklarasi union tadi diganti dengan deklarasi struktur berikut :

          typedef struct int_or_float {
                   int n;
                   float x;
          } number;

Hasilnya :

          (a) temp.n = 4444   temp.x = -0.00000
(b) temp.n = 4444   temp.x = 4444.00000
(c) temp.n = 4444   temp.x = 4444.00000


ENUMERASI


C++ menyediakan tipe data yang dapat didefinisikan oleh pemrogram disebut dengan enumerasi. Enumerasi, didefinisikan dengan menggunakan kata kunci enum, adalah sekumpulan konstanta integer yang direpresentasikan dengan identikasi tertentu.

Nilai dalam enum dimulai dari 0, dapat diubah dengan nilai lainnya, dan menaik dengan penambahan 1 untuk nilai selanjutnya.

Contoh :

enum bulan {JAN, PEB, MAR, APR, MEI, JUN, JUL, AGU, SEP, OKT, NOP, DES};

Deklarasi tersebut akan menciptakan tipe baru yaitu enum bulan, yang secara otomatis menunjukkan deret nilai 0 untuk JAN hingga 11 untuk DES.
Nilai bulan ini dapat diubah menjadi 1 hingga 12 dengan cara :

enum bulan {JAN = 1, PEB, MAR, APR, MEI, JUN, JUL, AGU, SEP, OKT, NOP, DES};

Contoh :

/* Program : struct7.cpp*/
#include <stdio.h>

enum bulan {JAN = 1, PEB, MAR, APR, MEI, JUN, JUL, AGU, SEP, OKT, NOP, DES};

main() {
            enum bulan Bulan;
char *namaBulan[] = {"", "Januari", "Pebruari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "Nopember", "Desember" };

            for ( Bulan = JAN ; Bulan <= 12 ; Bulan++ )
printf( "%2d%11s\n", Bulan, namaBulan[Bulan] );
return 0;
}



Bila program tersebut dijalankan maka :

1                            Januari
          2               Februari
          3                   Maret
          4                    April
          5                      Mei
          6                     Juni
          7                      Juli
          8                Agustus
          9           September
          10              Oktober
          11           November
          12           Desember


CONTOH SOAL :

Soal 1


Buatlah program dengan struktur untuk menampilkan data karyawan yang berjumlah 5 orang lengkap dengan nama dan no Id-nya.

Contoh ada di file : dataid.exe

Save dengan nama file : st1_nim (4 digit nim terakhir)