Kamis, 13 Desember 2012

STRUKTUR KONTROL


Dalam sebuah proses program, biasanya terdapat kode penyeleksian kondisi, kode pengulangan program, atau kode untuk pengambilan keputusan.

1.      SELEKSI KONDISIONAL (if …else …)
2.       
Format penulisannya : if (kondisi) pernyataan;
Kondisi adalah ekspresi yang akan dibandingkan. Jika kondisi bernilai benar, maka pernyataan akan dijalankan. Namun, jika kondisi bernilai salah, maka pernyataan akan diabaikan. Contoh pernyataan berikut akan menampilkan tulisan x adalah 100 apabila x bernilai 100 :
If (x==100)
Cout<<“ xadalah 100”;
Jika menginginkan lebih dari sebuah pernyataan yang dijalankan, ketika kondisi terpenuhi maka blok instruksi harus menyertakan tanda {dan}.
If (x==100) {
Cout<<“ x adalah “;
Cout<< x;   }
Bila menginginkan sesuatu dijalankan ketika kondisi tidak terpenuhi, dapat ditambahkan keyword else. Sintaknya adalah :
if (kondisi)
pernyataan1;
else
pernyataan2;
If (x==100)
Cout<< “x adalah 100’;
Else
Cout<<”x bukan 100”;
Pernyataan if…else… dapat terdiri dari beberapa else. Pada contoh berikut, program akan memberikan jawaban terhadap inputan data, apakah berupa nilai positif, negative atau nol :

If (x>0)
Cout<<”positive”;
Else if (x<0)
Cout<<”negative”;
Else
Cout<<”x adalah 0”;

Analisis
            Program ini merupakan contoh dari penggunaan if…else. Jika kondisi bernilai benar, maka pernyataan di jalankan jika salah pernyataan diabaikan.

PENGERTIAN METHOD


Method adalah sarana bagi programmer untuk memodularisasi,
artinya membreak atau memecah program kompleks menjadi bagian yang kecil-kecil
sehingga nantinya dapat digunakan berulang-ulang,
daripada menulis beberapa baris kode yang sama.
Method dalam Java mirip dengan fungsi atau procedure dalam bahasa pemrograman yang lain.
Pada konsep Object Oriented Programming, Function lebih dikenal dengan istilah Method dimana merupakan suatu bagian dari Object yang mendefinisikan apa yang bisa Object tersebut lakukan.
Jadi :
Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer didalam suatu Class.
Method dapat dibagi menjadi fungsi dan prosedur.
Fungsi adalah bagian atau sub dari program yang mempunyai algoritma tertentu dalam menyelesaikan suatu masalah dengan mengembalikan hasil.
Prosedur adalah bagian atau sub dari program yang mempunyai algoritma tertentu dalam menyelesaikan suatu masalah tanpa mengembalikan suatu nilai hasil. Secara umum method dalam java adalah sebuah fungsi.
Setiap method menghasilkan suatu nilai dengan tipe data tertentu yang dinamai Return Type. Apabila terdapat suatu fungsi yang tidak menghasilkan suatu nilai apapun maka bagian return type ini diganti dengan void.
Penamaan method mengikuti kaidah penamaan seperti pada penamaan variabel.
Bagian parameter pada method diisi dengan parameter-parameter fungsi yang diperlukan. Passing Parameter  dilakukan dengan cara pass by value dan pass by reference.
Dengan analogi tersebut, otomatis beberapa hal umum seperti local variable,
pemanggilan method, pendefinisian return value type, dsb adalah sama.

Mendeklarasikan Method
<methodDeclaration> ::=
<modifier> <returnType> <name>(<parameter>*) {
<statement>*
}
<parameter> ::=
<parameter_type> <parameter_name>[,]
contoh method:
class MethodDemo {
int data;
int getData() {
return data;
}
void setData(int data) {
this.data = data;
}
void setMaxData(int data1, int data2) {
data = (data1>data2)? data1 : data2;
}
}
contoh program dengan method:
public class TesMak
{
/** Main method */
public static void main(String[] args)
{
int i = 5;
int j = 2;
int k = mak(i, j);
System.out.println(“The maximum between ” + i + ” and ” + j + ” is ” + k);
}
/** Return the max between two numbers */
public static int mak(int num1, int num2)
{
int hasil;
if (num1 > num2)
hasil = num1;
else
hasil = num2;
return hasil;
}
}

Pemrograman Berorientasi Objek


Apa itu PBO?

OOP/PBO merupakan paradigma pemrograman yang popular saat ini yang telah menggantikan teknik pemrograman berbasis prosedur. Object Oriented Programing yang berarti pula Pemrograman Beorientasi Objek sudah ditemukan sekitar tahun 1960 dan dikembangkan pada permulaan tahun 1970.
Pemrograman Berorientasi Objek (Object Oriented Programming/OOP) merupakan pemrograman yang berorientasikan kepada objek, dimana semua data dan fungsi dibungkus dalam class-class atau object-object. Setiap object dapat menerima pesan, memproses data, mengirim, menyimpan dan memanipulasi data. Beberapa object berinteraksi dengan saling memberikan informasi satu terhadap yang lainnya.
Masing-masing object harus berisikan informasi mengenai dirinya sendiri dan dapat dihubungkan dengan Object yang lain. Pemrograman berorientasi objek berbeda dengan pemrograman prosedural yang hanya menggunakan satu halaman kebawah untuk mengerjakan banyak perintah atau statement. Penggunaan pemrograman berorientasi objek sangat benyak sekali, contoh : java, php, perl, c#, cobol, dan lainnya.

Dalam konsep Pemrograman Berorientasi Objek dikenal beberapa istilah umum, yaitu:

- Attribute

Definisi dan Gambaran Umum Atribut

Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas, Atribut dapat memiliki hak akses private, public maupun protected.
Sebuah atribut yang dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas yang membungkusnya, sedangkan kelas lainnya tidak dapat mengakses atribut ini secara langsung.

Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya.
Sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang membungkusnya.
Atribut juga biasa disebut state/ properties/ field merupakan bagian yang dimiliki oleh sebuah class yang tidak melakukan operasi, tetapi kepadanya dilakukan operasi sehingga dapat merubah nilai dari attribute tersebut.

Karakteristik Atribut

Dalam class, atribut disebut sebagai variabel. Atribut dapat membedakan antara satu object dengan object yang lain. Sebagai contoh, pada class : mahasiswa, terdapat object mahasiswa si A, dan object mahasiswa si B.
Yang membedakan antara object si A dan si B adalah NPM-nya (Nomor Pokok Mahasiswa) yang merupakan atribut dari object tersebut. Pada atribut, terdapat pula dua istilah variabel, yaitu Instance Variabel dan Class Variable.
Dimana pada tiap variabel memiliki karakteristik tersendiri, diantaranya :
Pada Instance Variabel à tiap object memiliki instance variabel dan menyimpan nilainya tersendiri.

Sedangkan pada Class Variabel à atribut yang dimiliki oleh semua object yang berasal dari class yang sama, serta semua object memiliki nilai class variabel yang sama. atribut yang dimiliki object dari class yang sama.

- Method

Definisi dan Gambaran Umum Method

Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer didalam suatu Class. Dengan kata lain, method pada sebuah kelas hampir sama dengan fungsi atau prosedur pada pemrograman prosedural.
Pada sebuah method di dalam sebuah kelas juga memiliki izin akses seperti halnya atribut pada kelas, izin akses itu antara lain private, public dan protected yang memiliki arti sama pada izin akses atribut yang telah dibahas sebelumnya. Sebuah kelas boleh memiliki lebih dari satu method dengan nama yang sama asalkan memiliki parameter masukan yang berbeda sehingga kompiler atau interpreter dapat mengenali method mana yang dipanggil.

Hal ini dinamakan overloading. Di dalam sebuah kelas, terdapat juga yang disebut sebagai method atau atribut statis yang memiliki kata kunci static. Maksud dari statis di sini adalah method yang dapat diakses secara berbagi dengan semua objek lain tanpa harus membuat objek yang memiliki method statis tadi (tanpa proses new), tapi sebuah method statis mempunyai keterbatasan yaitu hanya dapat mengakses atribut atau method lain di dalam kelas yang membungkusnya yang juga bersifat statis. Method statis biasanya diimplementasikan untuk method main.

Karakteristik Method

Didalam suatu class, behavior disimpan dalam bentuk Method. Method merupakan serangkaian statemen / perintah (perintah = baris program) dalam suatu class yang menghandle task tertentu. Method merupakan hal-hal yang bisa dilakukan oleh object dari suatu class.
Method didefinisikan pada class akan tetapi dipanggil melalui object. Method memiliki peranan diantaranya :
- merubah nilai atribut dari suatu object,
- menerima informasi dari object lain, dan
- mengirim informasi ke obyek lain untuk melakukan suatu task (cara obyek berkomunikasi dengan obyek lain adalah dengan menggunakan method).

- Class

Merupakan model yang berisi kumpulan attribute dan method dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh class manusia memiliki attribute berat, tinggi, usia kemudian memiliki method makan, minum, tidur. Method dalam sebuah class dapat merubah attribute yang dimiliki oleh class tersebut. Sebuah class merupakan dasar dari modularitas dan struktur dalam pemrograman berorientasi object.

Definisi dan Gambaran Umum Class


Class didefinisikan sebagai sebuah blueprint(denah), atau prototipe, yang mendefiniskan variabel-variabel dan metode-metode yang umum untuk semua objek dari n jenis tertentu (n maksudnya jumlah tertentu). Sebuah kelas menyerupai sebuah struktur yang merupakan tipe data sendiri, misalkan tipe data titik yang terdiri dari koordinat x dan y. Bahasa Java telah menggunakan sebuah kelas untuk menyatakan tipe data titik karena bahasa pemrograman Java merupakan bahasa pemrograman berorientasi objek murni sehingga tidak mengenal struktur, melainkan mengenal apa yang disebut dengan kelas.

Perbedaan sebuah kelas dengan sebuah struktur adalah sebuah kelas dapat berdiri sendiri dan dapat digunakan untuk berbagai keperluan kelas-kelas yang lain, sedangkan sebuah struktur tidak dapat berdiri sendiri. Sebuah kelas lebih fleksibel untuk digunakan oleh kelas lain tanpa harus membongkar kode program utama, sedangkan jika digunakan struktur maka kode program harus dibongkar unuk disalin bagian strukturnya ke kode program utama yang lain.

Sebuah file dapat terdiri dari berbagai kelas, namun biasanya pada bahasa pemrograman Java sebuah file hanya terdiri dari satu kelas yang disimpan dengan nama kelas, misal file List.java berisi kelas List. Namun jika kelas yang dibuat misalnya public class nama_kelas, maka kelas itu harus disimpan dalam satu file hanya untuk satu kelas. Setelah dilakukan kompilasi maka pada Java akan ada sebuah file .class yang berisi bytecode dari setiap kelas.

Jika sebuah file terdiri dari dua kelas, maka setelah dilakukan kompilasi akan dihasilkan dua buah file .class yang nantinya akan dibaca oleh interpreter Java saat program dieksekusi. Sebuah kelas saat program dieksekusi dan perintah new dijalankan, maka akan dibuat sebuah objek. Class adalah template untuk pembuatan objek. Class juga memiliki anggota, diantaranya : atribut dan method.
Pemahaman singkatnya :
• Class merupakan pola / template yang menggambarkan kumpulan object yang mempunyai sifat dan perilaku yang sama.
• Class merupakan struktur data dari object (blueprint dari sebuah object), dan proses pembuatan object dari sebuah class disebut juga dengan instantiation.
• Class merupakan definisi data dan fungsi dari suatu hal (benda, konsep, dll).
• Di dalam class dideklarasikan variabel dan method yang dimiliki oleh obyek

Karakteristik Class


Class memiliki beberapa karakteristik, diantaranya : anggota class terdiri dari atribut dan method. Tiap-tiap anggota class memiliki control pengaksesan tersendiri, maksudnya adalah apakah anggota class tersebut dapat diakses dengan bebas (dengan tipe public) atau hanya dapat diakses melalui sebuah interface.
Dalam hal ini, interface adalah device yang digunakan untuk komunikasi antar object berbeda yang tidak memiliki hubungan apapun. Interface bisa dikatakan sebagai protokol komunikasi antar object tersebut.

- Object

Merupakan perwujudan dari class, setiap object akan mempunyai attribute dan method yang dimiliki oleh class-nya, contohnya: amir, ahmad, yani merupakan object dari class manusia. Setiap object dapat berinteraksi dengan object lainnya meskipun berasal dari class yang berbeda.

Definisi dan Gambaran Umum Object

Object merupakan sesuatu yang memiliki identitas (nama), pada umumnya juga memiliki data tentang dirinya maupun object lain dan mempunyai kemampuan untuk melakukan sesuatu dan bisa bekerja sama dengan objek lainnya. Pada dasarnya semua benda yang ada di dunia dapat dianggap sebagai sebuah object. Rumah, mobil, sepeda motor, meja, dan komputer merupakan contoh-contoh object yang ada di dunia nyata. Object adalah implementasi dari class. Secara sederhananya, dapat dikatakan terdiri dari properti (atribut) dan method.
Pemahaman singkatnya :
• Objek merupakan sebuah objek khusus yang digunakan untuk mengakses anggota objek (atribut atau method) dari dalam objek itu sendiri.
• Apabila terdapat variabel lain yang memiliki nama yang sama dengan nama atribut di dalam objek, “this” dapat digunakan untuk merujuk ke atribut objek.

Karakteristik Object

Setiap object memiliki dua karakteristik yang utama, yaitu atribut dan behavior. Atribut merupakan status object dan behavior merupakan tingkah laku dari object tersebut.
Contoh sederhana adalah sepeda. Object sepeda memiliki atribut : pedal, roda, dan gigi, kecepatan serta memiliki tingkah laku seperti pacu dan rem. Sama seperti penggambaran di dunia nyata, pengembangan program dengan konsep OOP juga menggunakan model object yang akan menyimpan atributnya dalam variabel dan tingkah lakunya dalam method atau fungsi-fungsi/prosedur. Deskripsinya :
Contoh objek : Sepeda
- Sepeda memiliki atribut ( state ) : pedal, roda, jeruji, dan warna.
- Sepeda memiliki tingkah laku ( behaviour ) : kecepatannya menaik, kecepatannya menurun, dan perpindahan gigi sepeda.
Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku ( behaviour ) dalam method-method atau fungsi-fungsi/prosedur.



Konsep-konsep dalam OOP/PBO :

- Abstraction

Adalah suatu cara untuk melihat suatu object dalam bentuk yang lebih sederhana. Sebagai contoh kita tidak melihat sebuah mobil sebagai ribuan komponen elektronik, sistem mekanik dengan empat buah ban, jok, stir kemudi dan sebagainya. Dengan Abstraction, suatu sistem yang kompleks dapat dipandang sebagai kumpulan subsistem-subsistem yang lebih sederhana, seperti halnya mobil merupakan suatu sistem yang terdiri atas berbagai subsistem, seperti subsistem kemudi, subsistem pengereman dan sebagainya.

Abstraksi merupakan kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan.
Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

- Encapsulation

Merupakan suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem dan sekaligus menyederhanakan penggunaan sistem tersebut.
Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak. Hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.



- Inheritance

Merupakan konsep mewariskan attribute dan method yang dimiliki oleh sebuah class kepada class turunannya. Dengan konsep ini class yang dibuat cukup mendefinisikan attribute dan method yang spesifik didalamnya, sedangkan attribute dan method yang lebih umum akan didapatkan dari class yang menjadi induknya.
Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada.Objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)

- Polymorphism

Merupakan konsep yang memungkinkan digunakannya suatu interface yang sama untuk memerintah suatu object agar melakukan suatu tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda.
Model data berorientasi objek disebut dapat memberi fleksibilitas yang lebih, kemudahan mengubah program dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya selain itu pendekatan OOP lebih mudah dikembangkan dan dirawat.
Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan, dengan metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim.

Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.


KONSTRUKTOR DAN DESTRUKTOR

Konstruktor adalah fungsi khusus anggota kelas yang otomatis dijalankan pada saat penciptaan objek (mendeklarasikan instance). Konstruktor ditandai dengan namanya, yaitu sama dengan nama kelas. Konstruktor tidak mempunyai tipe hasil (return value). Biasanya konstruktor dipakai untuk inisialisasi anggota data dan melakukan operasi lain seperti membuka file dan melakukan alokasi memori secara dinamis. Meskipun konstruktor tidak harus ada dalam kelas, tetapi jika diperlukan konstruktor dapat lebih dari satu.
Konstruktor adalah fungsi anggota yang mempunyai nama yang sama dengan nama kelas.  Kegunaannya :
Mengalokasikan ruang bagi sebuah objek
Memberikan nilai awal terhadap anggota data suatu objek
Membentuk tugas-tugas umum lainnya 
Adapaun jenis-jenis kontruktor adalah sebagai berikut:
Konstruktor default : tidak dapat menerima argumen, anggota data diberi nilai awal tertentu.
Konstruktor penyalinan dengan parameter : anggota data diberi nilai awal berasal dari parameter.
Konstruktor penyalinan objek lain : parameter berupa objek lain, anggota data diberi nilai awal dari objek lain.
Contoh penulisan konstruktor :

#include
class jumlah
{
   public:
    int jumlah1;
      int jumlah2;
      ~jumlah();
};
jumlah objek1,objek2;
void main()
{
   cout<<”Didalam main() \n”;
   cout<<”objek1.jumlah1 adalah “<<
   cout<<”objek1.jumlah2 adalah “<<
   cout<<”objek2.jumlah1 adalah “<<
   cout<<”objek2.jumlah2 adalah “<<
}
jumlah::~jumlah()
{
   cout<<”Didalam jumlah() \n”;
}


DESTRUKTOR
Destruktor adalah pasangan konstruktor. Pada saat program membuat objek maka secara otomatis kontruktor akan dijalankan, yang biasanya dimaksudkan untuk memberi nilai awal variable private. Sejalan dengan itu, C++ menyediakan fungsi destruktor (penghancur atau pelenyap) yang secara otomatis akan dijalankan pada saat berakhirnya objek. Setiap kelas mempunyai tepat satu destuktor. jika kita tidak mendeklarasikan sebuah destruktor dalam sebuah kelas, maka destruktor akan diciptakan sendiri oeh compiler C++. Fungsi destruktor itu sendiri adalah untuk mendealokasikan memori dinamis yang diciptakan kontruktor. Nama destruktor sama dengan nama kelas ditambah awalan karakter tilde (~). Walaupun compiler C++ akan secara otomatis mendeklarasikan sebuah destruktor, akan tetapi sangat disarankan untuk mendeklarasikan sendiri sebuah destruktor. Karena dengan mendeklarasikan sendiri destruktor maka kita mempunyai kontrol penuh terhadap apa yang dilakukan destruktor dari kelas yang kita buat.
Destruktor adalah fungsi anggota yang mempunyai nama yang sama dengan nama kelas ditambah symbol tilde (~) didepannya.
Contoh  penulisan dalam Destruktor :
#include
Class Tpersegi
{
   int *lebar, *panjang;
   public:
      Tpersegi (int, int);
      ~Tpersegi();
      int Luas() {return (*lebar * *panjang);}
};
Tpersegi::Tpersegi(int a, int b)
{
   lebar=new int;
   panjang=new int;
   *lebar = a;
   *panjang = b;
}
Tpersegi::~Tpersegi()
{
   delete lebar;
   delete panjang;
}
int main()
{
   Tpersegi pers(3,4), persg(5,6);
   cout<<”Luas pers= “<<
   cout<<”Luas persg = “<<
   return 0;
}

KESIMPULAN
Dari uraian diatas dapat kita simpulkan bahwa:
Konstruktor :
-          Nama kontruktor sama dengan nama kelas
-          Kontruktor tidak mempunyai nilai balik
-          Kontruktor harus diletakkan di bagian public
-          Kontruktor dijalankan dengan sendirinya pada saat objek diciptakan, bahkan kontruktor dijalankan sebelum fungsi main() dijalankan.

Destruktor:
-          Nama destruktor  sama dengan nama kelas ditambahkan tanda tilde (~) di depannya.
-          Destruktor tidak mempunyai nilai balik.
-          Destruktor harus diletakkan di bagian public.
-          Destruktor dijalankan dengan sendirinya pada saat objek akan sirna.

Contoh Lain konstruktor dan destruktor :
#include "stdafx.h"
#include "iostream.h"
#include "stdlib.h"

class hitung
{
public:
    double alas,tinggi,luas,sisi,jari,kel;
    void segitiga()
    {    cout<<"** Luas Segitiga **"<
        cout<<"Masukkan Alas   = ";cin>>alas;
        cout<<"Masukkan Tinggi = ";cin>>tinggi;
        luas=(alas*tinggi)/2;
        cout<<"Luas Segitiga   = "<<
    }
    void persegi()
    {    cout<<"** Luas Persegi **"<
        cout<<"Masukkan Panjang Sisi = ";cin>>sisi;
        luas=sisi*sisi;
        cout<<"Luas Persegi          = "<<
    }
    void llingkaran()
    {    cout<<"** Luas Lingkaran **"<
        cout<<"Masukkan Panjang Jari = ";cin>>jari;
        luas=3.14*jari*jari;
        cout<<"Luas Lingkaran        = "<<
    }
    void ppanjang()
    {    cout<<"** Luas Persegi Panjang **"<
        cout<<"Masukkan Alas          = ";cin>>alas;
        cout<<"Masukkan Tinggi        = ";cin>>tinggi;
        luas=alas*tinggi;
        cout<<"Luas Persegi Panjang   = "<<
    }
    void kellingkaran()
    {   
        cout<<"** Keliling Lingkaran **"<
        cout<<"Masukkan Panjang Jari   = ";cin>>jari;
        kel=2*3.14*jari;
        cout<<"Keliling Lingkaran      = "<<
    }
};

void main()
{    hitung htg;
    char tanya;
    tanya = 'y';
    int pilih;
    do {
        system ("cls");
    cout<<"== KALKULATOR LINDA =="<
    cout<<"---------------------------"<
    cout<<"1. Mencari Luas Segitiga"<
    cout<<"2. Mencari Luas Persegi"<
    cout<<"3. Mencari Luas Lingkaran"<
    cout<<"4. Mencari Luas Persegi Panjang"<
    cout<<"5. Mencari Keliling Lingkaran"<
    cout<<"---------------------------"<
    cout<<"Masukkan pilihan Anda = ";cin>>pilih;
    if (pilih==1)
    {    htg.segitiga();} else
    if (pilih==2)
    {    htg.persegi();} else
    if (pilih==3)
    {    htg.llingkaran();} else
    if (pilih==4)
    {    htg.ppanjang();} else
    if (pilih==5)
    {    htg.kellingkaran();}
    cout<<"---------------------------"<
    cout<<"Apakah Anda Ingin Mengulanginya ..? "; cin>>tanya;
    } while (tanya == 'y');
}

Membuat Rangkaian Memory 4Kbyte x 8 Bit

Membuat peta memori sebesar
4K x 8 bit terdiri dari => 1k   x 8bit    (3 buah = 3k)
                                       512 x 8 bit   (1 buah = 1/2 dari 1k)
                                       256 x 8 bit   (2 buah = 1/2 dari 1k)

Berikut Peta Memori-nya


 Untuk Memori A,B,C adalah memori yang bernilai 1k
 Untuk Memori D adalah memori yang bernilai 512
 Untuk Memori E dan F memori yang bernilai 256

A11    A10    A9    A8
A7    A6    A5    A4
A3    A2    A1    A0
Hexa
  0         0        0       0
  0         0        1       1
 0       0       0       0
 1       1       1       1
0        0      0       0
1        1      1       1
0   0    0
3    F    F
  0         1        0       0
  0         1        1       1
 0       0       0       0
 1       1       1       1
0        0      0       0
1        1      1       1
4    0   0
7    F    F
  1         0        0       0
  1         0        1       1
 0       0       0       0
 1       1       1       1
0        0      0       0
1        1      1       1
8    0    0
B    F    F
  1         1        0       0
  1         1        0       1
 0       0       0       0
 1       1       1       1
0        0      0       0
1        1      1       1
C    0    0
D    F    F
  1         1        1       0
  1         1        1       0
 0       0       0       0
 1       1       1       1
0        0      0       0
1        1      1       1
E    0    0
E    F    F
  1         1        1       1
  1         1        1       1
 0       0       0       0
 1       1       1       1
0        0      0       0
1        1      1       1
F    0    0
F    F    F

A
B
C
D
E
F

Berikut Gambar Hasil dari perhitungan peta memori di atas
1k dimulai dari A0 sampai A9
512 dimulai dari A0 sampai A8
256 dimulai dari A0 sampai A7








Berikut Aljabar Boolean hasil dari peta memori yang telah di buat
Jika yang bernilai 0 negasikan Jika bernilai 1 tidak di negasikan


Setelah menuliskan Aljabar Boolean gambarkan Gerbang Logikanya

Gerbang Logika A




Gerbang Logika B


Gerbang Logika C
Gerbang Logika D
Gerbang Logika E
Gerbang Logika F