Membuat Web Browser dengan Visual C++


Selain dapat membuat aplikasi GUI,  visual C++ bisa juga digunakan untuk membuat web browser seperti mo**ila ataupun c**me. Seperti terlihat pada gambar dibawah ini.
Komponen-komponen yang dibutuhkan dapat dilihat pada tabel dibawah ini


Buat Project baru windows form application pada visual C++, ambillah komponen-komponen seperti pada tabel di atas dan letakkan pada form yang telah dibuat, aturlah sedemikian rupa tata letak komponen-komponen tersebut. Untuk gambar pada button, anda dapat menggantikannya pada properties-image. Setelah selesai membuat form diatas selanjutnya kita akan membuat program pada web browser ini. Perhatikan kode program dibawah ini, salinlah kode program tersebut ke masing button sesuai dari fungsi program (perhatikan keterangan pada kode program). Untuk menempatkan kode program ini pada masing-masing button, klik dua kali pada button yang ingin dibuatkan kode programnya.


Tampilan web browser ketika dijalankan,

gambar:

Sudut pandang tipe data integer di C++

Dalam bahasa C ada beberapa jenis tipe data salah satunya adalah integer. Tipe data integer direpresentasikan dengan dua cara yaitu:
a. Bilangan tidak negatif(unsigned),
b. Bilangan negatif, nol dan positif(signed)
Pada pemrograman bahasa C tipe data integer mempunyai panjang data 32 bit(4 byte) untuk lebih jelasnya dapat dilihat pada tabel di bawah ini.


Di bawah ini ukuran tipe data dengan jumlah bit yang berbeda atau disebut juga dengan word



Nah, sekarang kita sudah mengetahui ukuran panjang tipe data integer mari kita lihat tipe data integer ini dari sudut pandang signed dan unsigned. Kita akan menggunakan 4 bit tipe data integer sebagai ilustrasi untuk mempermudah dalam pembahasan materi ini. Di bawah ini tabel tipe data integer 4 bit.  























Mari kita buktikan bahwa dengan menggunakan signed dan unsigned yang salah pada tipe data integer akan menyebabkan kesalahan fatal pada sebuah program. Kita akan mengambil contoh operasi aritmatik pada pemrograman bahasa C.

Contoh:
Source Code:



Hasil eksekusi

Penjelasan:
Pada baris program x = 2147483647 + 1, secara matematika menghasilkan 2147483648 tapi pada  program di atas menghasilkan -2147483648, kenapa? Untuk lebih mudah dalam pemahaman perhatikan tabel tipe data integer 4 bit. Nilai maksimum dari int(signed)/Tmak adalah 7 ketika kita menambahkannya dengan 1 maka program akan pindah satu langkah ke bawah sehingga hasilnya -8. Hal ini sama halnya dengan kasus diatas ketika kita menambahkan Tmak dari integer 32 bit maka hasilnya -2147483648. Muncul pertanyaan dalam benak kita, apakah komputer ini salah menjumlahkan? Ternyata tidak, hanya kita saja yang salah menggunakan tipe data. Seharusnya pada penjumlahan ini kita menampilkan hasilnya dengan tipe data unsigned yang mempunyai panjang data sampai 4294967295.   

Pada baris program y = -2147483648 – 2147483647, secara matematika menghasilkan -4294967295, tetapi hasil eksekusi program menghasilkan 1, mari kita kembali ke tabel int 4 bit. Perhatikan Tmin nilainya adalah -8 ketika kita mengurangkan dengan 7 maka program akan mengeksekusi 7 langkah ke bagian atas sehingga hasilnya adalah 1. Hal ini juga sama untuk integer 32 bit.

Pada penjumlahan yang ketiga program akan membaca nilai awal kembali karena 4294967295 merupakan nilai Umak pada integer 32 bit. Untuk lebih jelas perhatikan tabel tipe data integer 4 bit. Nilai Umak adalah 15 ketika ditambahkan dengan 1 maka program akan mengulang membaca data keawal lagi karena tidak ada data lagi setelah Umak sehingga hasil eksekusi program adalah 0 (nol).
                                                                                                                                                           by
                                                                                                                           

Merubah Warna Text di C++

Kadang-kadang kita bosan melihat tampilan console dari Visual C++ dengan text berwarna putih dan background berwarna hitam, terpikir oleh kita ingin mengganti warnanya sesuka hati. Dibawah ini contoh program menggantikan warna text dan background.. Selamat Mencoba.

Source Code:



IAS Computer Programming

Pada edisi kali ini penulis akan membahas membuat program pada komputer IAS, komputer generasi pertama. Bahasa pemrograman yang digunakan yaitu bahasa assembler milik komputer IAS. Komputer IAS merupakan komputer pertama sekali yang menggunakan prinsip store - program dalam pengolahan data. Prinsip ini terus dipakai untuk komputer generasi sekarang. Berikut ini contoh soal yang akan kita buat programnya.

Kalikan data di memori alamat 0551 dengan data pada alamat memori 0552 dan hasilnya disimpan pada alamat memori 0556 untuk MSB-nya dan alamat memori 0557 untuk LSB-nya dan jumlahkan data LSB-nya dengan data pada alamat memori 0553 dan hasilnya disimpan pada alamat memori 0559. Program Counter (PC) berada pada alamat 0011.

Jawaban

LOAD  MQ, M(0551)
MUL   M(0552)
STOR  M(0556)
LOAD  MQ
STOR  M(0557)
ADD   M(0553)
STOR  M(0559)

Penjelasan Program














Berikut adalah peta memori dari komputer IAS dan ilustrasi dari isi memorinya. Isi memori merupakan hasil dari eksekusi program diatas. Memori komputer IAS untuk menampung program (instruksi) dan data. Memori ini mempunyai 1000 alamat, masing-masing alamat dapat menampung 40 bit data yang dibagi menjadi 2 bagian yaitu instruksi kiri dan instruksi kanan.

Led Control (dot matrik)

Led Control (dot matrik) dengan menggunakan Arduino dan max7221
Pada arduino untuk menampilkan karakter ataupun bentuk yang lainnya di dot matrik dapat menggunakan library LedControl.h dan arduino harus terkoneksi dengan driver dot matrik max7221. Di bawah ini adalah list program dengan menggunakan library LedControl.h

#include <LedControl.h>

int DIN = 12;
int CLK = 11;
int LOADCS = 10;

LedControl lc1=LedControl(DIN,CLK,LOADCS,1);
unsigned long delaytime=1000;

void A_Karakter()
{
    lc1.setRow(0,1,112); 
    lc1.setRow(0,2,136);
    lc1.setRow(0,3,136);
    lc1.setRow(0,4,248);
    lc1.setRow(0,5,136);
    lc1.setRow(0,6,136);
    lc1.setRow(0,7,136);
}

void setup()
{

  int devices=lc1.getDeviceCount();
 //init all devices in a loop

        for(int address=0;address<devices;address++)
            {
                /*The MAX72XX is in power-saving mode on startup*/
                 lc1.shutdown(address,false);
                 /* Set the brightness to a medium values */
                 lc1.setIntensity(address,8);
                 /* and clear the display */
                 lc1.clearDisplay(address);
            }
}

void loop()
{
  //read the number cascaded devices
  int devices=lc1.getDeviceCount();
  //Menampilkan Karakter A
 A_Karakter();
}

Perhitungan nilai untuk karakter A




















Penjelasan :
Perintah menampilkan baris 2 pada dot matrik à lc1.setRow(0,1,112)
artinya :
0 à alamat digit dot matrik
1 à baris dari dot matrik dimulai dari 0 (nol)
112 à jumlah nilai dari dot/LED yang dinyalakan 64 + 32 + 16 = 112

                                                                                                                   by

Pemrograman C++

Format penulisan program di C++ adalah sebagai berikut :

Contoh :
#include <iostream>
using namespace std;
// Program ini menuliskan “Selamat Pagi.”

main()
{
            cout << “Selamat Pagi.\n”;
            return 0;
}

Penjelasan :

#include  ®    agar program menghasilkan keluaran. Dalam hal ini menunjuk ke file eksternal bernama  iostream,  dimana informasi tentang obyek  cout berada.

 <   > ®  file standard C++.

//            ®      menyatakan komentar, tidak pernah di compile oleh compiler.

main()    ®      selalu ada dalam program C++ (dibutuhkan), yang menyatakan awal dari program.

{  dan  } ®     program C++ berada diantara kedua kurung kurawal ini.

cout << “Selamat Pagi.\n”;  ®  pesan yang dikirimkan ke obyek  cout  (keluaran melalui   console). Obyeknya adalah   standard output stream,  yang biasanya merepresentasikan keluaran melalui layar monitor.

Keluaran dari contoh program di atas adalah

Selamat Pagi.


\n          ®       keluaran yang berikutnya muncul pada baris yang baru (bukan disebelahnya) atau ganti baris.

return 0 ®       mengakhiri eksekusi program dan kembali ke kontrol sistem operasi.

Pernyataan   return 0   tidak selalu dibutuhkan oleh kebanyakan compiler.




Cara kerja komputer IAS

Untuk mempelajari bagaimana cara komputer IAS bekerja  terlebih dahulu kita mengetahui register-register yang digunakan, set instruksi dan struktur pada komputer IAS.

Register Komputer IAS

Memory buffer register (MBR)
berisi data yang akan disimpan di memori, atau digunakan untuk menerima data dari memori.
Memory address register (MAR)
berisi alamat memori suatu data yang hendak ditulis dari MBR atau dibaca ke MBR.
Instruction register (IR)
berisi 8 bit kode instruksi yang hendak dieksekusi.
Instruction buffer register (IBR)
tempat menyimpan instruksi sementara.
Program counter (PC)
berisi alamat dari instruksi yang hendak diambil dari memori.
Accumulator (AC) dan multiplier quotient (MQ)
Tempat penyimpanan sementara operand dan hasil operasi ALU.

















Beberapa set instruksi dari komputer IAS





  Baik, mari kita bahas bagaimana komputer IAS ini bekerja. Untuk mempermudahkan pemahaman, mari kita buat sebuah permasalahan perhitungan pada komputer IAS ini.
Contoh :

Jumlahkan data pada memori 0100 dengan data pada memori 0101, simpan hasil penjumhannya pada memori 0102. Instruksi program terdapat pada memori 0010
Jawaban: (dalam bahasa IAS)

Kita misalkan bahwa bentuk penjumlahannya A + B
LOAD M(0100) --> A 
ADD M(0101)  --> B
STOR M(0102)   

Penjelesan:

LOAD M(0100)
--> Ambil data pada memori 0100 dan disimpan di register AC

ADD M(0101)
--> Jumlahkan data pada memori 0101 dengan data pada register AC dan hasilnya disimpan pada register AC

STOR M(0102)
--> Simpan data pada register AC ke memori 0102.

Untuk menjalan instruksi set diatas, komputer IAS melakukan dengan dua langkah yang disebut dengan instruction cycle, dua langkah tersebut adalah fetch dan execute.


Instruction cycle program diatas. 

Fetch 1 

  •  PC (Program Counter) berada pada memori dengan alamat 0010
  • Alamat memori pada PC à dicopykan pada MAR sehingga MAR berisi alamat memori 0010 dan menginstruksi kan MBR untuk membaca data pada alamat memori 0010 
  • Data alamat memori pada M(MAR) à dicopykan ke MBR sehingga MBR berisikan baris instruksi seperti terlihat dibawah ini
  • LOAD
    M(0100)
    ADD
    M(0101)
    0
    7
    8
    19
    20
    27
    28
    39


    Data pada alamat memori MBR(20 : 39) --> dicopy ke IBR(0 : 7) 
  • Data pada alamat memori MBR(0 : 7) --> dicopykan ke IR, IR berisikan instruksi LOAD 
  • Data pada alamat memori MBR(8 : 19) --> dicopykan ke MAR
Execute 1

M(0100) --> MBR, sehingga MBR mempunyai data = A 
MBR --> AC, data pada MBR disimpan pada register AC


Fetch 2 
  • IBR(0 : 7) --> IR, IR berisikan instruksi ADD 
  • IBR(8 : 19) --> MAR, MAR berisikan alamat memori M(0101) 
  • PC = PC + 1 --> untuk mengeksekusi baris program berikutnya pada alamat memori M(0011) 

Execute 2 
  • M(0101) --> MBR, MBR membaca/mengcopy data pada alamat memori M(0101) 
  • MBR + AC --> AC, data pada alamat memori M(0101) dijumlahkan dengan data pada register AC dan hasilnya disimpan pada register AC

Fetch 3
  •  PC --> MAR
  • M(MAR) --> MBR --> MBR berisi seperti terlihat pada tabel dibawah

  • STOR
    M(0102)


    0
    7
         8
    19
         20
    27
         28
     39
    MBR(20 : 39) --> IBR 
  • MBR(0 : 7) --> IR 
  • MBR(8 : 19) --> MAR

Execute 3 
  • AC --> MBR 
  • MBR --> M(MAR) --> M(0102)
                                                                                      by




Label: , ,

Socket Programming

Cara inisialisasi socket client dan server


        Socket serverSocket;         // Membuat object server socket
        Socket clientSocket;          // Membuat object  client socket

       serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
       clientSocket  = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

Followers

Total dilihat

Diberdayakan oleh Blogger.

online log book

Cari Blog Ini