Deni Duor. Diberdayakan oleh Blogger.

Blog Archive

Contoh Program Fungsi C++

Contoh soal dan jawaban berupa script tentang Fungsi C++

Contoh Program Pointer C++

Contoh soal dan jawaban berupa script tentang Pointer C++

Contoh Program Struct C++

Contoh soal dan jawaban berupa script tentang Struct C++

Array C++

Akan disampaikan sedikit penjelasan tentang Array C++

Java

Membuat tampilan berbagai bentuk segitiga pada Java

Rabu, 14 November 2012

Model Data Basis Data



Model Data



Model Data adalah Koleksi tool untuk menggambarkan:
Data
Data relationships
Data semantics
Data constraints
(Silberschatz, 2002)


Jenis Model Data :

1. Model data file datar (Flat-file data model)
               -    Data flat-file terdiri dari satu atau lebih file yang dapat dibaca
               -    Berbentuk format file text
               -    Informasi disimpan sebagai fields
               -    Kelemahan File Datar:
                        > Flat-file tidak menggunakan struktur data yang mudah
                        > Sulit untuk mengatur data secara efisien dan menjamin akurasi
                        > Lokasi fisik fields data dengan file harus diketahui



2. Model data hierarki (Hierarchichal data model)
               -    Satu tingkat di atas basis data flat-file (kemampuan retrieval) 
               -    Arsitektur berdasarkan konsep hubungan parent/child 
               -    Root table atau parent table berada pada struktur paling atas 
               -    Kelebihan dibandingkan flat-file:
                        > Data dapat di-retrieve secara cepat
                        > Integritas data mudah diatur
               -    Kelemahan:
                        > Pengguna harus memahami struktur hierarkinya
                        > Terjadi redundansi data

3. Model data jaringan (Network data model)
               -     Perbaikan basis data hierarki
               -     Penambahan kemampuan share relationship
               -     Child table dapat memiliki lebih dari satu root
               -     Kelebihan:
                        > Pengaksesan lebih cepat
                        > Mendukung model basis data kompleks
               -     Kekurangan:
                        > Struktur kurang fleksibel; perubahan mempengaruhi pengaksesan
                        > Pengguna harus memahami struktur


4. Model data keterhubungan entitas (Entity relationship data model)
               -     Menjelaskan hubungan antar data berdasarkan presepsi dunia nyata
               -     Relasi antara objek dilukiskan dengan menggunakan simbol-simbol grafis tertentu


5. Model data relasional (Relational data model)
               -     Model basis data paling populer saat ini
               -     Berbentuk tabel/relasi
               -     Tabel terdiri: baris dan kolom
                                    Baris    --> tuple atau record
                                    Kolom --> fields
               -     Relasi antar tabel menggunakan key.
               -     Kelebihan:
                           > Dapat diakses secara cepat
                           > Struktur basis data mudah diubah
                           > Data disajikan secara logis
                           > Penggunaan bahasa standar (SQL)
                           > Operasi query lebih mudah
               -      Kekurangan:
                           > Perlu pemahaman keterhubungan tabel/relasi
                           > Perlu pemahaman mengenai SQL

6. Model data berorientasi objek (Object oriented data model)
              -      Data didefinisikan, disimpan, dan diakses menggunakan pemrograman berorientasi objek.
              -      Aplikasi End user juga di bangun dengan menggunakan bahasa berorientasi objek.
              -      Object database management system digunakan untuk membuat link antara basis data
                     dan aplikasi.
              -      Kelebihan:
                            > Konsep objek mudah dipahami
                            > Mendukung reusabilitas
              -      Kekurangan:
                            > Perlu pemahaman konsep objek
                            > Perlu dukungan perangkat lunak berorientasi objek

SEMOGA BERMANFAAT :D

Pengantar Basis Data


BASIS DATA 

Beberapa Pengertian Basis Data              
        -     Basis Data adalah Kumpulan data yang saling berhubungan yang disimpan secara bersama
              sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi \  
              berbagai kebutuhan.
        -     Basis Data adalah kumpulan data berisi informasi yang sesuai untuk sebuah perusahaan
               (Silberschatz,2002)
        -     Basis Data adalah kumpulan data, umumnya mendeskripsikan aktivitas satu organisasi atau
               lebih yang berhubungan (Ramakrishnan, 2003)
  • Tujuan Basis Data 
    • Mengelola data untuk kemudahan, ketepatan, dan kecepatan dalam pengambilan kembali
    • Menjaga konsistensi data (mengurangi redundansi)
    • Mengatur pemilahan data sesuai fungsi dan jenis
  • Pemanfaatan Basis Data
    • Kecepatan dan Kemudahan (Speed)
      • Pengelolaan data (simpan, edit, retrieve)
    • Efisiensi ruang penyimpanan (Space)
      • Mengurangi redundansi
    • Keakuratan (Accuracy)
      • Penerapan aturan/batasan (constraint) tipe data
    • Kelengkapan (Completeness)
      • Koleksi terstruktur dalam relasi-relasi
    • Keamanan (Security)
      • Penggunaan account
      • Hak akses (Grant)
    • Kebersamaan (Sharability)
      • Mendukung multiuser
Database Management System (Sistem Manajemen Basis Data) merupakan perangkat lunak yang digunakan untuk mengelola basis data.
›Contoh:
  •          Oracle
  •          MySQL
  •          dBase
  •          SQL Server
  • Pengguna Basis Data
    • Front-end user
      • Database administrator
      • Database designer
      • End user
      • Software engineer
    • Back-end user
      • DBMS system designer
      • Tools developer


SEMOGA BERMANFAAT :D

Selasa, 06 November 2012

FUNGSI C++


FUNGSI

Fungsi merupakan blok dari kode yang dirancang untuk melakukan tugas khusus.  Tujuan pembuatan funsi adalah:
                      -   Program menjadi terstruktur
                      -   Dapat mengurangi duplikasi kode
                      -   Fungsi dapat di panggil dari program atau fungsi yang lain.
Pada umumnya fungsi memerlukan masukan yang disebut parameter atau argument.
Hasil akhir fungsi akan berupa nilai(nilai balik fungsi).
Bentuk umum fungsi :
TypeFungsi namaFungsi (parameter) 

  //Tubuh fungsi 
}

contoh :
void Ckali(int angka) 

  int a=angka*angka; 
  cout<<”Hasil Perkalian:”<<a<<endl; 
}

PROTOTYPE FUNCTION Sebuah program C++ dapat terdiri dari banyak fungsi. Salah satu fungsi   tersebut harus bernama main(). Jika fungsi yang lain di tuliskan setelah fungsi main(), sebelum fungsi main harus ditambahkan prototype function agar fungsi tersebut dapat dikenal. Hal tersebut tidak berlaku jika penulisannya dilakukan sebelum fungsi main().

Fungsi Rekursif Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Artinya fungsi tersebut dipanggil di dalam tubuh fungsi itu sendiri. Parameter yang dilewatkan berubah sebanyak fungsi itu dipanggil.

Ada dua cara pemanggilan fungsi yaitu:
1. Call by value     : Pemanggilan fungsi dengan melewatkan nilai paramater variabel dalam definisi
                                fungsi. Fungsi tsb akan mengolah nilai yang dikirimkan kepadanya.
                                Misal:
                                       float purchase = 4000;
                                       float tax = calcSalesTax(purchase);
                                Dapat juga merupakan suatu konstan
                                       hitung(2, 3);
                                       tulis(„A‟);
2. Call by reference : Pemanggilan dengan referensi merupakan suatu usaha melewatkan alamat dari \
                                  suatu variabel ke dalam fungsi. Dengan pengubahan dilakukan di dalam fungsi
                                  untuk mengubah variabel di luar fungsi.
                                  Misal:
                                             A bernilai 20 -> X juga bernilai 20
                                             B bernilai 30 -> Y juga bernilai 30
                                  Selanjutnya nilai X dan Y diproses tetapi nilai A dan B akan tetap.
                                  Metode Call by Reference menggunakan operator pointer „&‟ dan „*‟ untuk
                                  mengirimkan alamat variable ke suatu fungsi.

Untuk contoh program FUNGSI dapat dilihat di Contoh Program FUNGSI C++ .
SEMOGA BERMANFAAT !! :D

Contoh Program STRUCT C++

1. Buatlah program struktur untuk menghitung luas dan keliling segitiga
    source code :
  #include <conio.h>
  #include <stdio.h>
  #include <iostream.h>
  int main()
  {
    char x;

     struct
     {
       float alas1;
       float alas2;
       float alas3;
       float tinggi;
       float luas;
       float keliling;
       float s;
     }segitiga;
     menu:
     cout<<"\t ===---------------**--------------=== \n\n";
     cout<<"\t a. Segitiga Sembarang ";
     cout<<"\n\t b. Segitiga Siku-siku ";
     cout<<"\n\t c. Keluar \n";
     cout<<"\t Pilihan = ";
     cin>>x;
     if (x=='a')
     {
       clrscr();
       cout<<"\t ===---------------**--------------=== \n";
       cout<<"\t Masukkan Nilai Alas A Segitiga = ";
       cin>>segitiga.alas1;
       cout<<"\t Masukkan Nilai Alas B Segitiga = ";
       cin>>segitiga.alas2;
       cout<<"\t Masukkan Nilai Alas C Segitiga = ";
       cin>>segitiga.alas3;
       cout<<"\n\t ===---------------**--------------=== \n";
       segitiga.s=(segitiga.alas1+segitiga.alas2+segitiga.alas3)/2;
       segitiga.luas=segitiga.s*(segitiga.s-segitiga.alas1)*
       (segitiga.s-segitiga.alas2)*(segitiga.s-segitiga.alas3);
      segitiga.keliling=segitiga.alas1+segitiga.alas2+segitiga.alas3;
      cout<<"\t Hasil Luas Segitiga = "<<segitiga.luas<<" ";
      cout<<"\n\t ===---------------**--------------=== \n";
      cout<<"\t Hasil Keliling Segitiga = "<<segitiga.keliling<<" ";
      cout<<"\n\t ===---------------**--------------=== \n";
      cout<<"\n\n ";
      goto menu;
     }
     else if (x=='b')
     {
      clrscr();
      cout<<"\t ===---------------**--------------=== \n";
      cout<<"\t Masukkan Sisi Tegak Segitiga = ";
      cin>>segitiga.alas1;
      cout<<"\t Masukkan Sisi Miring Segitiga = ";
      cin>>segitiga.alas2;
      cout<<"\t Masukkan Alas Segitiga = ";
      cin>>segitiga.alas3;
      cout<<"\t Masukkan Tinggi Segitiga = ";
      cin>>segitiga.tinggi;
      cout<<"\t ===---------------**--------------=== \n";
      segitiga.luas=0.5*segitiga.alas3*segitiga.tinggi;
      segitiga.keliling=segitiga.alas1+segitiga.alas2+segitiga.alas3;
      cout<<"\t Hasil Luas Segitiga = "<<segitiga.luas<<" ";
      cout<<"\n\t ===---------------**--------------=== \n";
      cout<<"\t Hasil Keliling Segitiga = "<<segitiga.luas<<" ";
      cout<<"\n\t ===---------------**--------------=== \n";
      cout<<"\n\n ";
      goto menu;
     }
     else if (x=='c')
     { return 0; }
     else clrscr(); cout<<" SALAH WOI \n\n"; goto menu;
     getch();
    }
 
          Printscreen:
       

2. Bilangan kompleks memiliki format a+b i, dengan a dan b adalah bilangan real. Notasi a disebut juga
    bagian real, dan b disebut juga bagian imajiner. Buatlah program menggunakan struktur untuk
    menjumlahkan, mengurangkan, dan mengalikan 2 buah bilangan kompleks.
    Source code :
    #include <iostream.h>
    #include <conio.h>

     struct kompleks
     {
       float real;
       float imajiner;
     }bil;

     void perkalian (float real1, float imajiner1, float real2,   
     float imajiner2)
     {
       bil.real = real1 * real2;
       bil.imajiner = imajiner1 * imajiner2;
     }

     void tambah(float real1, float imajiner1, float real2, float 
     imajiner2)
     {
       bil.real = real1 + real2;
       bil.imajiner = imajiner1 + imajiner2;
     }

     void kurangi(float real1, float imajiner1, float real2, 
     float imajiner2)
     {
       bil.real = real1 - real2;
       bil.imajiner = imajiner1 - imajiner2;
     }

     void main()
     {
        float el_real1, el_real2, el_imaj1, el_imaj2;

        cout<<"\t ===---------------**---------------=== \n";
        cout<<"\t   ||              Program             || \n";
        cout<<"\t   ||         Bilangan Kompleks         || \n";
        cout<<"\t ===---------------**---------------=== \n";
        cout<<"\t ===---------------**---------------=== \n\n";
        char a;
        do
        {
          cout <<"\t Bilangan Kompleks I" << endl;
          cout << "\t Masukkan Nilai Real : ";
          cin >> el_real1;
          cout << "\t Masukkan Nilai Imajiner : ";
          cin >> el_imaj1;
          cout << "\n\t Bilangan Kompleks II" << endl;
          cout << "\t Masukkan Nilai Real : ";
          cin >> el_real2;
          cout << "\t Masukkan Nilai Imajiner : ";
          cin >> el_imaj2;
          cout<<"\t ===-------------**----------------=== \n";
          tambah(el_real1,el_imaj1,el_real2,el_imaj2);
          cout<<"\t Hasilnya Penjumlahannya : "<< bil.real<<"+"
           << bil.imajiner << 'i' << endl;
          cout<<"\n\t ===-----------**----------------=== \n";
           kurangi(el_real1,el_imaj1,el_real2,el_imaj2);
          cout <<"\t Hasilnya Pengurangannya : "<< bil.real <<"-  
           "<< bil.imajiner << 'i' << endl;
          cout<<"\n\t ===-----------**----------------=== \n";
          perkalian(el_real1,el_imaj1,el_real2,el_imaj2);
          cout<<"\t Hasilnya Perkaliannya : "<< bil.real <<"*"<< 
           bil.imajiner << 'i' << endl;
          cout<<"\n\t ===-----------**----------------=== \n";
          cout<<"\n\t Tekan Y untuk mengulang program ";
          cin>>a;
         }
        while ((a=='y')||(a=='Y'));
       getch();
      }

      Printscreen :
      
SEMOGA BERMANFAAT!! :D

Contoh Program POINTER C++

1. Buat program yang dapat membalik kata , misal kasur menjadi rusak !
    Source code :
    #include <iostream.h>
  #include <conio.h>
  #include <stdio.h>

  void main()
  { 
     char kata[100];
     char *balik;
     int i,jumlah;

     jumlah=0;
     balik=kata;
     char x;
      do
      {
         cout<<"\t ===---------------**--------------=== \n\n"; 
         cout <<"\t Masukkan kata : ";
         gets(kata); 
                for(i=0;kata[i]!='\0';i++)
{jumlah ++;}
         cout<<"\n\t ===---------------**--------------=== \n\n";
         cout << "\t Setelah Pembalikan Kata :";
                for(i=jumlah-1;i>=0;i--)
  {cout << *(balik + i);}
         cout<<"\n\n\t ===---------------**--------------=== \n\n";
         cout<<"\n\t Tekan y untuk mengulang = ";
         cin>>x;
       } while ((x=='y') || (x=='Y'));
      getch(); 
     }

     PrintScreen :
     

2. Buatlah program terdiri 3 variable a, b, c yang di inputkan dari fungsi main kemudian dilewatkan ke 
      fungsi yang tanpa memerlukan nilai balikan. Outputnya adalah ketiga variable tersebut yang nilainya dua 
      kali sebelumnya !
      Source code :
        #include <iostream.h>
   #include <conio.h>

   void pengali(int*);
   void main()
   {
       int a,b,c;
       char x;
       do
       {
          cout<<"\t ===---------------**--------------=== \n\n";
          cout<<"\n\t     Masukkan nilai a = ";
          cin>>a;
          cout<<"\n\t     Masukkan nilai b = ";
          cin>>b;
          cout<<"\n\t     Masukkan nilai c = ";
          cin>>c;
          cout<<"\t ===---------------**--------------=== \n\n";
          pengali(&a);
          pengali(&b);
          pengali(&c);
          cout<<"\t Nilai a sesudah dieksekusi = "<<a<<endl;
          cout<<"\n\t Nilai b sesudah dieksekusi = "<<b<<endl;
          cout<<"\n\t Nilai c sesudah dieksekusi = "<<c<<endl;
          cout<<"\n\t ===---------------**--------------=== \n\n";
          cout<<"\n\t Tekan y untuk mengulang = ";
          cin>>x;
          }while ((x=='y') || (x=='Y'));
        getch();
       }

       void pengali(int *x)
       {
           *x=*x*2;
       }

       Printscreen :
       
Demikian post saya , SEMOGA BERMANFAAT ! :D

Kamis, 01 November 2012

Pengertian, Fungsi, dan Jenis RAM



RAM atau disebut Random-Acces Memory adalah sebuah perangkat yang berfungsi untuk menyimpan data.RAM bersifat sementara atau data yang tersimpan dapat dihapus.Berbeda dengan ROM.ROM mempunyai fungsi yang sama dengan RAM tetapi ROM bersifat permanent atau data yang tersimpan tidak dapat dihapus lagi.

RAM memiliki bagian utama seperti :
     a. PCB ( Printed Circuit Board ) yakni papan yang tersusun atas beberapa layer, pada setiap lapisan  
         layer terpasang jalur / circuit untuk mengalirkan data ataupun sebagai tempat penyalur daya listrik.
     b. Contact Point yakni bagian RAM yang berfungsi sebagai konektor ke Motherboard ,  terdiri atas 
         beberapa titik dan di batasi oleh satu atau dua buah lekukan yang disebut sebagai NOTCH.

Jenis RAM :

1. DRAM (Dynamic RAM) adalah jenis RAM yang secara berkala harus disegarkan oleh CPU agar data
    yang terkandung didalamnya tidak hilang.
 
2. SDRAM (Synchronous Dynamic RAM) adalah jenis RAM yang paling umum digunakan pada PC masa
    sekarang. RAM ini disinkronisasi oleh clock sistem dan memiliki kecepatan lebih tanggi dari pada DRAM.
 
3. SRAM (Statik RAM) adalah jenis memory yang tidak perlu penyegaran oleh CPU agar data yang
    terdapat didalamnya tetap tersimpan dengan baik. RAM jenis ini memiliki kecepatan lebih tinggi dari  pada
    DRAM.
 
4. RDRAM (Rambus Dynamic RAM) adalah jenis memory yang lebih cepat dan lebih mahal dari pada
    SDRAM. Memory ini bisa digunakan pada sistem yang menggunakan Pentium 4.
 
6. EDORAM (Extended Data Out RAM) adalah jenis memory yang digunakan pada sistem yang
    menggunakan Pentium. Jenis RAM ini Cocok untuk yang memiliki bus dengan kecepatan sampai 66
    MHz.
 

SEMOGA BERMANFAAT !! :D