Selasa, 03 Juli 2012

Serial Number: Visual Studio 2010 Express for Windows Phone.

Visual Studio 2010 Express for Windows Phone.
Key registration : YDK44-2WW9W-QV7PM-8P8G8-FTYDF

Kamis, 28 Juni 2012

WP7: Masalah pada Windows Phone Emulator Is Doing A Complete OS Boot




Setelah membaca beberapa diskusi tentang online masalah tampaknya emulator tidak bekerja dengan beberapa jenis virtualisasi hardware. Rupanya cpu AMD di netbook saya tidak didukung dan tidak ada cara untuk mematikan perangkat tambahan virtualisasi di BIOS.


Jadi saya melihat sekeliling dan menemukan file konfigurasi emulator. Dalam file adalah pengaturan untuk mengubah Hardware Assist off. Saya mengatur nilai false, dimulai emulator dan sekarang bekerja sempurna. Ini mungkin tidak bekerja terlalu baik jika aplikasi Anda adalah CPU intensif seperti permainan, tetapi untuk penggunaan saya itu bekerja dengan baik.






Berikut adalah cara untuk mengkonfigurasinya:


  • Open a command window and go to %LOCALAPPDATA%\microsoft\xde
  • There will be a file similar to config_*.decfg
  • Open the file in notepad and look for a line that looks like this:
  •         <EnableHWAssist Reconfigurable="static" Type="bool">true</EnableHWAssist>
  • Change “true” to “false”
  • Save the file and start the emulator.

Kamis, 14 Juni 2012

Aplikasi Chatting sederhana dengan JAVA

Chatting merupakan sebuah aktifitas mengobrol dengan saling balas membalas antara kedua belah pihak. Terasa formal penjelasan nya, tapi pada intinya chatting merupakan kegiataan ringan saling berbalas-balas pesan. Pernahkan kita terpikirkan tentang apa yang terjadi selama kita chatting? kok bisa kita membaca pesan dari teman? kok bisa kita mengirim kan pesan kepada teman? dan yang terakhir bagaimana sih membuat nya? :D

Dalam membangun aplikasi chatting, kita setidak sudah membekali diri kita dengan pengetahuan sedikit mengenai soket programming di posting sebelumnya :D. Tidak perlu banyak, yang penting kita mngerti konsep konsepnya. Mendefenisikan sock nya atau menyiapkan port listenernya dan lain lainnya.

Saya tidak akan menampilkan source code nya disini, nanti akan saya berikan link donlodnya, saya akan menjelaskan secara singkat saja aplikasi yang akan kita bangun :).

Aplikasi terdiri dari server dan juga client, pada sisi server kita tidak perlu lagi untuk memasukan ip dari client. kita cukup perlu menunggu saja koneksi dari client. Sedangkan dari sisi client, perlu untuk mengeset ip dari server, sehingga bisa saling terkoneksi. Sebenarnya yang terpenting adalah kedua nya berada didalam satu jaringan network, karena aplikasi kita masih sederhana dan belum terlalu jauh untuk yang berada diluar network.

Sedikit menambah informasi, Dua protokol komunikasi utama untuk jaringan berbasis IP dan dapat digunakan dalam kaitannya dengan pemrograman socket :
1. UDP (User Datagram Protocol)
Setiap kali datagram akan dikirim, alama socket penerima harus ditetapkan setiap saat.
2. TCP (Transmission Control Protocol)
Sebelum memulai pertukaran data, sepasang socket dibuat sebagai sambungan. Satu socket sebagai server socket yang bertugas mendengarkan sambungan sedangkan yang lain meminta server socket untuk sambungan. Setelah terbentuk sambungan tersebut, socket baru dapat digunakan untuk mengirimkan data.

untuk langsung mencoba anda bisa lihat dan running source code di link download berikut. 

pass : 49012037


Skema Aplikasi Socket Programming sederhana

Server

1. Pasang socket dengan socket().
2. Buka port komunikasi, dengan bind ().
3. Dengarkan socket dengan listen().
4. Dalam looping, terima hubungan client dengan accept().
5. Buat child dari program dengan fork() agar dapat melayani banyak client sekaligus, masing-masing child akan melayani satu client.
6. Kirim pesan dengan send().
7. Tutup socket dengan close() atau shutdown().
8. Akhiri child process dengan exit().

contoh:

/* serverteman.c */
#include
#include
#include
#include
#include
#include
#include
#define KONEKSI_MAKSIMAL 10
int main (int argc, char *argv[])
{
struct sockaddr_in alamat_serv;
struct sockaddr_in alamat_clie;
unsigned no_port;
int socketfd;
if (argc != 2) {
fprintf (stderr, “gunakan: %s \n”, argv[0]);
exit(1);
}
no_port = atoi (argv[1]);
socketfd = socket (AF_INET, SOCK_STREAM, 0);
/* untuk membersihkan child process,
yang telah selesai */
signal(SIGCHLD, SIG_IGN);
/* kita reset terlebih dahulu variable alamat_serv */
bzero (&alamat_serv, sizeof(alamat_serv));
alamat_serv.sin_family = AF_INET;
alamat_serv.sin_port = htons (no_port);
/* macro INADDR_ANY menghasilkan current ip */
alamat_serv.sin_addr.s_addr = htonl (INADDR_ANY);
/* buka port */
if (bind (socketfd, (struct sockaddr *)&alamat_serv, sizeof (struct sockaddr)) < 0) {
fprintf (stderr, “maaf ya, tidak bisa memasang port !\n”);
exit(1);
}
printf (“serverteman menunggu teman datang …\n”);
/* menuggu koneksi yang masuk,
* koneksi maksimal dilayani sebanyak KONEKSI_MAKSIMAL
*/
listen (socketfd, KONEKSI_MAKSIMAL);
while(1) {
int client_size = sizeof (struct sockaddr_in);
int newfd;
/* menerima koneksi yang datang */
newfd =accept (socketfd, (struct sockaddr *)&alamat_clie, &client_size);
if(newfd == -1) {
perror (“accept”);
/* jika terjadi error akan looping lagi */
continue;
}
/* mengetahui siapa yang mengadakan koneksi */
printf(“Teman dari %s telah datang\n”, inet_ntoa (alamat_clie.sin_addr));
/* fork mengasilkan nilai return 0 pada child process,
pada parent process, fork() menghasilkan nilai pid dari child yang diciptakan*/
if (!fork ()) {
/* child process */
/* peringatan !, variabel buffer hanya menampung 255 karakter */
char buffer[256];
sprintf (buffer, “Halo Teman, selamat datang di Server.Teman\n”);
/* kirim pesan */
if (send (newfd, buffer, strlen (buffer), 0) == -1) {
perror (“send”);
continue;
}
close (newfd);
exit (0);
}
else
/* parent process,
disini tidak dibutuhkan newfd, jadi sebaiknya ditutup.
parent process akan looping lagi untuk menerima client yang lain*/
close (newfd);
}
return 0;
}
/* serverteman.c */
ok sekarang kita compile:
gcc -o serverteman serverteman.c
lalu jalankan:
./serverteman 1024
mudah-mudahan serverteman sudah jalan.
catatan: untuk menjalankannya, jika anda bukan root port yang bisa ‘buka’ adalah >= 1024.
nah jika teman-teman mau mencoba ‘layanan’ serverteman, karena kita belum membuat program client-nya, telnet dapat kita gunakan.
telnet 127.0.0.1 1024
coba lihat pada terminal yang menjalankan client,
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
Halo Teman, selamat datang di Server.Teman
Connection closed by foreign host.
lalu coba lihat pada terminal yang menjalankan serverteman,
Teman dari 127.0.0.1 telah datang

Client

1. pasang dengan socket().
2. dapatkan alamat server dengan gethostbyname().
3. terima seluruh data yang dikirmkan dalam looping dengan recv().
4. tutup koneksi dengan close().
contoh:

/* clienteman.c */
#include
#include
#include
#include
#include
#include
#include
#include
int main (int argc, char *argv[])
{
struct sockaddr_in alamat_ku;
struct sockaddr_in tujuan;
struct hostent *host_server;
int socketfd, connect_status, baca;
int no_port;
char buffer[256];
if (argc != 3) {
fprintf (stderr, “gunakan: %s \n”, argv[0]);
exit(1);
}
if ((socketfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
fprintf (stderr, “tidak bisa memasang socket !\n”);
exit(1);
}
if ((host_server = gethostbyname(argv[1])) == NULL) {
fprintf (stderr, “Nama host mungkin salah :)\n”);
exit(1);
}
no_port = atoi(argv[2]);
bzero (&tujuan, sizeof(tujuan));
tujuan.sin_family = AF_INET;
tujuan.sin_port = htons (no_port);
memcpy ((char *)&tujuan.sin_addr.s_addr, host_server->h_addr_list[0], host_server->h_length);
if ((connect_status = connect (socketfd, (struct sockaddr *)&tujuan, sizeof(tujuan))) < 0) {
fprintf(stderr, “%s: tidak dapat melakukan koneksi\n”, argv[0]);
exit(1);
}
while((baca = recv(socketfd, buffer, strlen(buffer), 0)) > 0) {
printf(“%s”, buffer);
}
close (socketfd);
return 0;
}
/* clienteman.c */

lalu kita compile:
gcc -o clienteman clienteman.c
jalankan:
./clienteman 127.0.0.1 1024
nomor ip dan port sesuaikan dengan server tujuan.
nah artikel-nya sampe disini dulu.
jika teman-teman ingin belajar lebih jauh tentang socket programming,
ada banyak sekali artikel lain tentang socket programming, coba cari di search engine.



Mengenal Socket Programming

Pada dasarnya socket adalah sebuah cara untuk berkomunikasi dengan program atau node lain menggunakan file deskriptor. Di UNIX (dimana socket diciptkan) kita sering mendengar slogan: “everything is a file”, jadi untuk berkomunikasi dengan program atau node lain semudah kita membaca dan menulis file deskriptor. Antarmuka socket dan file adalah mirip, jika pada file kita membukanya dengan open() sedangkan pada socket kita manggunakan socket(). Pada file deskriptor yang menjadi tujuan adalah sebuah file, sedangkan pada socket adalah komputer atau node lain. Intinya ketika kita telah terhubung dengan socket(), maka antarmukanya sama saja dengan sebuah file.


Socket Stream dan Datagram
 
Pada umumnya socket ada dua macam yang sering dipakai (sebenarnya ada 4 lagi). Yang pertama disebut ‘Socket Stream’ (SOCK_STREAM) dan yang kedua adalah ‘Socket Datagram’ (SOCK_DGRAM). Lalu apa perbedaanya?, (Ini sepengatahuan saya :) untuk Socket Stream, data dikomunikasikan (dikirmkan) secara simultan, Socket Stream menggunakan protokol TCP. Seperti yang kita tahu TCP mengantar data secara simultan, selalu mencek dan mengirim ulang jika terjadi error.

Sedangkan pada Socket Datagram (juga dikenal “connectionless socket”), data mencapai/sampai ke node lain tanpa membuat koneksi, sehingga dalam perjalanan ke tujuan data dapat saja hilang karena tidak ada koneksi langsung antara kedua host, jika datanya sampai ke tujuan berarti ‘error-free’. Biasanya Socket Datagram digunakan dalam pengiriman data per packet, contoh FTP. Sederhananya socket jenis ini hanya ‘memancarkan’ saja, tidak untuk berinteraksi.

Fungsi-fungsi yang sering digunakan
 
0. socket(), membuat socket.
1. htonl(), meng-convert unsigned integer ke network byte order.
2. inet_ntoa(), ntoa singkatan ‘network to ascii’,
nilai return-nya berupa string dari alamat yang dilewatkan.
3. inet_addr(), meng-convert string menjadi network byte order.
4. bind(), digunakan pada pihak server, untuk membuka ‘port’ komunikasi.
5. write(), send(), bertugas mengirimkan data.
6. read(), recv(), bertugas menerima data.
7. connect(), digunakan pada pihak client, untuk mengadakan koneksi ke server.
8. listen(), menunggu koneksi socket.
9. accept(), menerima koneksi socket.
10.close(), shutdown() menutup atau mengakhiri koneksi

Selasa, 29 Mei 2012

Tentang Java


Mungkin sebagian dari kita masih belum familiar dengan istilah Java, padahal tanpa disadari, kebanyakan aplikasi yang berjalan di handphone, terutama game yang dipakai sehari-hari adalah salah satu hasil dari aplikasi Java. Disamping itu, keunggulan lain yang dimiliki oleh java adalah multi platform, artinya setiap aplikasi yang kita bangun menggunakan bahasa Pemrograman Java, maka akan berjalan dengan baik pada sistem operasi apa saja, bisa di sistem operasi Windows, Linux, Unix dan lain-lain. Sebuah keunggulan yang tidak dimiliki oleh bahasa pemrograman yang lain, sehingga tidak heran kalau bahasa pemrograman Java di kenal dengan istilah ”Create once, run anywhere”Lalu, kenapa Java di katakan sebagai teknologi masa depan adalah karena fleksibilitas dan kemudahan menggunakannya serta mampu mencakup keseluruhan aspek pemrograman yang dibutuhkan di masa depan, yaitu :

a)      Dengan Java kita mampu membangun aplikasi yang berbasis server (website misalnya), teknologi ini disebut dengan J2SE (Java versi 2 Standard Edition)



b)      Dengan Java kita mampu membangun aplikasi berbasis Teks maupun Grafik (Graphical User Interface), teknologi ini disebut dengan J2EE (Java versi 2 Enterprise Edition).



c)       Dengan Java kita mampu membangun aplikasi berbasis Mobile, sehingga bisa jalan di Handphone, teknologi ini disebut dengan J2ME (Java versi 2 Micro Edition).


Selain itu ada juga kelebihan nya yaitu:

Sederhana
Bahasa Pemrograman Java Menggunakan sintaks mirip dengan C ++ namun sintaks pada Java telah banyak diperbaiki terutama meghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.

Berorientasi objek (Object Oriented)
Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi anatara objek-objek tersebut.

Dapat didistribusikan dengan mudah
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada java.

Interpreter
Program java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code java yang telah dikompilasi menjadi java bytecodes dapat dijalankan pada platform yang berbeda-beda

Robust
Java mempunyai reliabilitas yang tinggi. Compiler pada java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.

Aman
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, java memiliki beberapamekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak system computer yang menjalankan aplikasi tersebut.

Architecture Neutral
Program java merupakan platform independen . program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan java Virtual Machine.

Portabel
Source code maupun program java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.

Multithreading
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.

Dinamis
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa mengganggu program yang menggunakan class tersebut.

Membuat Notepad di Java

Notepad merupakan aplikasi untuk menulis dan menyimpan nya kedalam tipe file text atau .txt . Kita bisa membuat aplikasi ini dengan cara sederhana, yang nanti nya mempunyai fungsi hampir sama seperti notepad pada umum, mempunyai fungsi new, open dan tentu juga save.

JFileChooser adalah kelas bawaan pada Java yang memungkinkan kita untuk melakukan browse file.
kita memanfaat kan nya untuk memilih file, baik itu untuk menyimpan atau membuka file nanti nya.



Berikut potongan source code yang digunakan.

1. Untuk Tombol New, source code nya


private void NewfileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NewfileActionPerformed
// TODO add your handling code here:
    TextArea.setText(null);
}//GEN-LAST:event_NewfileActionPerformed


2. Untuk tombol Open, source code nya


private void OpenfileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OpenfileActionPerformed
// TODO add your handling code here:


    JFileChooser chooser = new JFileChooser();
    chooser.setCurrentDirectory(new File("."));


    chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {


        public boolean accept(File f) {
            return f.getName().toLowerCase().endsWith(".txt")
                    || f.isDirectory();
        }
        public String getDescription() {
            return "File text";
        }
    });


    int r = chooser.showOpenDialog(new JFrame());
    if (r == JFileChooser.APPROVE_OPTION) {
        String name = chooser.getSelectedFile().getName();
        
        File dir = chooser.getCurrentDirectory();


        BufferedReader reader = null;
        StringBuilder buffer = new StringBuilder(1024);
        try {
            reader = new BufferedReader(new FileReader(dir+name));
            String line;
            while ((line = reader.readLine()) != null) {
                buffer.append(line).append("\n");
            }
        } catch (IOException e) {
            // handle
        } finally {
            try {
                reader.close();
            } catch (IOException e) {
                // handle
            }
        }


        TextArea.setText(buffer.toString());
    }


3. untuk Tombol Save, source code nya



private void SavefileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SavefileActionPerformed
// TODO add your handling code here:




    JFileChooser chooser = new JFileChooser();
    chooser.setCurrentDirectory(new File("."));


    chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {


        public boolean accept(File f) {
            return f.getName().toLowerCase().endsWith(".txt")
                    || f.isDirectory();
        }


        public String getDescription() {
            return "File text";
        }
    });
    int r = chooser.showSaveDialog(new JFrame());
    if (r == JFileChooser.APPROVE_OPTION) {
        String name = chooser.getSelectedFile().getName();
        File dir = chooser.getCurrentDirectory();
        File outFile = new File(dir+name);
        FileOutputStream outFileStream = null;
        try {
            outFileStream = new FileOutputStream(outFile);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Tugas_2_supardiantoView.class.getName()).log(Level.SEVERE, null, ex);
        }
        PrintWriter outStream = new PrintWriter(outFileStream);
        outStream.write(TextArea.getText());
        //textarea.append(myBufReader.readLine());
        //myBufReader.close();
        outStream.close();
    }
}//GEN-LAST:event_SavefileActionPerformed

Sabtu, 28 April 2012

Sedikit Tentang Floating Point


Floating-point atau bilangan titik mengambang, adalah sebuah format bilangan yang dapat digunakan untuk merepresentasikan sebuah nilai yang sangat besar atau sangat kecil. Bilangan ini direpresentasikan menjadi dua bagian, yakni bagian mantisa dan bagian eksponen (E). Bagian mantisa menentukan digit dalam angka tersebut, sementara eksponen menentukan nilai berapa besar pangkat pada bagian mantisa tersebut (pada posisi titik desimal). Sebagai contoh, bilangan 314600000 dan bilangan 0.0000451 dapat direpresentasikan dalam bentuk bilangan floating point: 3146E5 dan 451E-7 (artinya 3146 * 10 pangkat 5, dan 451 * 10 pangkat -7).

Kebanyakan CPU atau mikroprosesor sederhana tidak mendukung secara langsung operasi terhadap bilangan floating-point ini, karena aslinya mikroprosesor ini hanya memiliki unit aritmetika dan logika, serta unit kontrol yang beroperasi berdasarkan pada bilangan bulat (integer) saja.

Perhitungan atau kalkulasi terhadap nilai floating point pada jenis mikroprosesor sederhana dapat dilakukan dengan menggunakan perangkat lunak, sehingga operasinya sangat lambat. Untuk itulah, sebuah prosesor tambahan dibutuhkan untuk melakukan operasi terhadap jenis bilangan ini, yang disebut dengan unit titik mengambang. Dalam bahasa pemrograman, khususnya keluarga bahasa pemrograman C, bilangan titik mengambang direpresentasikan dengan tipe data float.

Ada 3 tipe floating point:
1. half precision binary floating-point format: binary16







2. Single precision binary floating-point format: binary32






3. Double precision binary floating-point format









contoh konversi biner ke float:


Mengenal sekilas INTEGER

Dalam ilmu komputer, istilah "Integer" digunakan untuk merujuk kepada tipe data apapun yang merepresentasikan bilangan bulat, atau beberapa bagian dari bilangan bulat. Disebut juga sebagai Integral Data Type.Nilai sebuah data dari sebuah tipe data integer adalah nilai bilangan bulat tersebut dalam matematika. Representasi data ini merupakan cara bagaimana nilainya disimpan di dalam memori komputer.

Tipe data integral terbagi menjadi dua buah kategori, baik itu bertanda (signed) ataupun tidak bertanda (unsigned). Bilangan bulat bertanda mampu merepresentasikan nilai bilangan bulat negatif, sementara bilangan bulat tak bertanda hanya mampu merepresentasikan bilangan bulat positif.

Representasi integer positif di dalam komputer sebenarnya adalah untaian bit, dengan menggunakan sistem bilangan biner. Urutan dari bit-bit tersebut pun bervariasi, bisa berupa Little Endian ataupun Big Endian. Selain ukuran, lebar atau ketelitian (presisi) bilangan bulat juga bervariasi, tergantung jumlah bit yang direpresentasikanya. Bilangan bulat yang memiliki n bit dapat mengodekan 2n. Jika tipe bilangan bulat tersebut adalah bilangan bulat tak bertanda, maka jangkauannya adalah dari 0 hingga 2n-1.






















Tipe integer standar yang digunakan dalam bahasa C adalah tipe int. Ukuran dan jangkauan data dari tipe int seringkali tergantung dari kompilator dan komputer yang digunakan, tapi biasanya setara dengan short int atau long int.
Selain tipe int, ada beberapa tipe data lain yang dapat menampung bilangan bulat, di antaranya:
char. Sebenarnya tipe data ini digunakan untuk menyimpan karakter dalam kode ASCII, tapi dapat juga digunakan untuk menyimpan integer dari 0 sampai 255
short int, ukuran 2 byte, jangkauan -32,768 sampai 32,767
int, ukuran 4 byte, jangkauan -2,147,483,648 hingga 2,147,483,647
Tipe-tipe data di atas dapat menyimpan integer negatif dan positif. Untuk menyimpan bilangan positif dan nol saja, dapat digunakan kata kunci unsigned sebelum tipe data. Sebagai contoh:
unsigned short int, ukuran 2 byte, jangkauan 0 sampai 65,535
unsigned int, ukuran 4 byte, jangkauan 0 sampai 4,294,967,295


Port Scanner Standar dengan c++

Port scanning adalah sebuah aktivitas untuk mendapatkan informasi yang menyeluruh mengenai status port (biasanya port TCP) pada sebuah host. Dengan port scanning, seseorang dapat mengetahui port-port mana saja yang terbuka pada sebuah host.

Didalam c++ kita bisa memanfaatkan beberapa library seperti, Ws2_32.lib, windows.h, dan juga winsock.h untuk membuat sebuah scanning port standar.

berikut langkah-langkah pembuatannya:
1. Menambahkan library dan juga menyertakan wswdata(silahkan googling)



















2. Membuat sebuah fungsi utama, yaitu untuk melakukan scanning port:





























3. Membuat sebuah fungsi void, atau tampilan sebagai inputan untuk ip komputer,dan port:























Dengan begitu selesai program kita, anda bisa mencoba nya sendiri dengan mendownload source code nya dsini: DOWNLOAD

Senin, 16 April 2012

Tugas Arsikom Komputer IAS

Buatlah program komputer IAS dimana data tersebut disimpan di memory. kita diminta untuk mengalikan data yang ada di memory alamat 0551 dengan data yang ada di memory alamat 0552, kemudian simpan hasil dari MSB di alamat memory 0556 dan LSB di alamat memory 0557. Selanjutnya kita diminta untuk menjumlahkan hasil dari data LSB perkalian dengan isi dimemory 0553 dan hasil penjumlahan ini disimpan di alamat 0559 dengan alamat PC counter awal di memory 0011. Yang diminta adalah Program set instruction, Instruction Cycle dan gambarkan peta memory nya.

1. Program Set Instruction


LOAD MQ, M(0551) = isi M(0551) ke MQ
MUL M(0552)         = AC = AC * M(0552) = MSB di AC
                     = LSB di MQ
STOR M(0556) = AC = M(0556) = MSB
LOAD MQ         = MQ = AC
STOR M(0557) = AC = M(0557) = MSB
LOAD M(0553) = AC berisi M(0553)
ADD M(0557)         = AC + LSB
STOR M(0559) = simpan hasil penjumlahan di M(0559)



2. Instruction Cycle

FETCH 1:
EXECUTE 1:

FETCH 2:
EXECUTE 2:

FETCH 3:
EXECUTE 3:

3. Peta Memory
A adalah isi memory di alamat (0551)
B adalah isi memory di alamat (0552)
C adalah isi memory di alamat (0553) kemudian dijumlahkan dengan nilai LSB hasil perkalian dan disimpan di memory (0553)
isi di memory (0556) adalah hasil MSB dari perkalian A dan B
isi di memory (0557) adalah hasil LSB dari perkalian A dan B

download versi document nya disini... DOWNLOAD





Sabtu, 14 April 2012

Instruksi Komputer IAS


Tahun 1946, von Neumann dan rekan-rekannya mulai melakukan perancangan stored-program komputer baru, dikenal sebagai komputer IAS. Struktur umum komputer IAS terdiri dari :
- Memori utama, yang menyimpan baik data maupun instruksi-instruksi dalam bentuk biner.
- ALU yang memiliki kemampuan mengoperasikan data biner.
- Control Unit, yang melakukan intepretasi instruksi-instruksi di dalam memori dan menyebabkan instruksi tersebut dieksekusi.
- Peralatan I/O yang dioperasikan oleh Control Unit.

Gambar. 1 Struktur Komputer IAS
Memori IAS terdiri dari 1000 lokasi penyimpan, yang disebut word, yang masing-masing terdiri dari 40 binary digit (bit). Baik data maupun instruksi disimpan di sini. Sehingga bilangan harus dinyatakan dalam bentuk biner, dan instruksi juga harus berupa kode biner.

Gambar. 2. Format Memori IAS
Gambar 2 menjelaskan format-format tersebut :
- Setiap bilangan dinyatakan oleh sebuah bit tanda dan 39 bit nilai
- Sebuah word dapat juga terdiri dari 20 bit instruksi, dengan masing-masing instruksi
terdiri dari 8-bit kode operasi (op code) yang menspesifikasikan operasi yang akan dibentuk dan sebuah 12 bit alamat yang menandai salah satu word di dalam memori (bilangan dari 0 hingga 999).
- Control unit mengoperasikan IAS dengan cara mengambil instruksi-instruksi dari memori dan mengeksekusinya sekaligus.
ALU merupakan singkatan dari Arithmetic Logic Unit dan terdiri dari 4 komponen, yaitu :
- Akumulator (AC) dan Multiplier Quotient (MQ), yang digunakan untuk menyimpan sementara ' operand dan hasil operasi ALU. Misalnya, hasil perkalian dua buah bilangan 40 bit adalah sebuah bilangan 80 bit; 40 bit yang paling berarti disimpan di dalam AC, dan 40 bit yang kurang berarti disimpan di MQ.
- Memory Buffer Register : berisi sebuah word yang akan disimpan di dalam memori atau digunakan untuk menerima word dari memori
- Arithmetic-Logic Circuits
Sedangkan komponen yang ada di dalam control unit adalah :
- Memory Address Register (MAR): Menentukan alamat word di memori untuk dituliskan dari MBR atau dibaca ke MBR.
- Instruction Register (IR): Berisi instruksi 8-bit op code yang akan dieksekusi.
- Instruction Buffer Register (IBR): Digunakan untuk menyimpan sementara instruksi sebelah kanan word di dalam memori.
- Program Counter (PC): Berisi alamat pasangan instruksi berikutnya yang akan diambil dari memori.
- Control Circuits
Komputer IAS memiliki 21 buah instruksi yang dikelompokkan seperti berikut ini :
- Data transfer : memindahkan data di antara memori dengan register-register ALU atau antara dua register ALU
- Unconditional branch : biasanya control unit mengeksekusi instruksi-instruksi di dalam urutan memori. Urutan ini dapat diubah dengan instruksi pencabangan yang memudahkan operasi repetitif
- Conditional branch : cabang dapat diubah tergantung pada suatu persyaratan, jadi memungkinkan titik-titik keputusan
- Arithmetic : operasi yang dibentuk oleh ALU
- Address modify : memungkinkan alamat-alamat untuk dikomputasi dalam ALU dan kemudian disisipkan ke dalam instruksi-instruksi yang disimpan di dalam memori. Hal ini memungkinkan fleksibilitas alamat yang tinggi pada program. Struktur komputer IAS inilah yang menjadi dasar pengembangan komputer-komputer pada era selanjutnya.
Instruksi IAS Set
Pengajaran
Jenis
Opcode Simbolis
Perwakilan
Deskripsi
Transfer data 00001010
00001001

00100001
00000001
00000010
00000011

00000100 LOAD MQ
LOAD MQ, M (X)
Stor M (X)
LOAD M (X)
LOAD-M (X)
LOAD | M (X) |
LOAD - | M (X) | Transfer isi register MQ ke AC akumulator
Transfer isi lokasi memori X untuk MQ

Transfer isi akumulator ke memori lokasi X
Transfer M (X) ke akumulator
Transfer-M (X) ke akumulator
Transfer absolut nilai M (X) ke akumulator

Transfer - | M (X) | ke akumulator
Cabang tak bersyarat
00001101

00001110 JUMP M (X, 0:19)
JUMP M (X, 20:39) Mengambil instruksi berikutnya dari kiri setengah dari M (X)
Mengambil instruksi berikutnya dari kanan setengah dari M (X)
Cabang Bersyarat
00001111

00010000 JUMP + M (X, 0:19)
JUMP + M (X, 20:39) Jika nomor di akumulator nonnegatif, mengambil instruksi berikutnya dari kiri setengah dari M (X)

Jika nomor di akumulator nonnegatif, mengambil instruksi berikutnya dari kanan setengah dari M (X)
Hitung 00000101

00000111

00000110

00001000

00001011
00001100
00010100

00010101 ADD M (X)

ADD | M (X) |
SUB M (X)

SUB | M (X) |

MUL M (X)
DIV M (X)
LSH

RSH Tambahkan M (X) untuk AC, menempatkan hasilnya di AC
Tambahkan | M (X) | untuk AC, menempatkan hasilnya di AC
Kurangi M (X) dari AC; menempatkan hasilnya di AC
Kurangi | M (X)} dari AC, menempatkan sisanya di AC
Multiply M (X) oleh M (Q); bit yang paling signifikan menempatkan hasil di AC, menempatkan signifikan bit kurang dalam M (Q)
Bagi AC oleh M (X); menempatkan quotient di MQ dan sisanya di AC
akumulator Kalikan dengan 2 (yaitu, bergeser ke kiri satu posisi bit)
Bagi akumulator oleh 2 (yaitu, bergeser ke kanan satu posisi bit)
Alamat memodifikasi 00010010

00010011 Stor M (X, 8:19)
Stor M (X, 28:39) Ganti kiri field alamat di M (X) dengan 12-bit yang paling kanan AC
Ganti alamat kanan lapangan di M (X) dengan 12-bit yang paling kanan AC

Komputer IAS


ENIAC (Electronic Numerical Integrator And Computer)
Didesain dan dibangun/dikerjakan oleh sebuah tim khusus yang 
dipimpin oleh John Mauchly dan John Presper Eckert di University of
Pennsylvania, berdasarkan pesanan dari Angkatan Bersenjata Amerika 
yang sebenarnya digunakan untuk membantu perhitungan jarak dan table-
tabel lintasan peluru yang digunakan pada senjata-senjata baru. 
Komputer ini merupakan komputer (General-purpose Electronic 
Digital) pertama di dunia, yang diselesaikan pada tahun 1946. 
Komputer ini berukuran 500 m2 (sangat besar) dan beratnya 30 ton, serta 
terdiri dari 18,000 tabung hampa. Ketika beroperasi membutuhkan daya
140 Kilo Watt listrik. Dan ENIAC merupakan komputer berbasis angka
desimal bukan biner yang di-operasi-kan secara manual dengan cara 
mengubah kedudukan saklar serta menyambung dan memutuskan kabel. 

Von Neumann Machine.


Di tahun 1946, seorang Matematikawan John von Neumann yang 
juga adalah konsultan dalam proyek pembuatan komputer ENIAC 
memulai mendesain sebuah komputer yang berkonsep “stored-program”
yang disebut dengan EDVAC (Electronic Discrete Variable Computer)
dan dinamai dengan IAS di Princeton Institute for Advanced Studies. Dan 
sayangnya IAS ini tidak selesai sampai dengan tahun 1952. Di bawah ini 
merupakan diagram struktur komputer IAS secara global. 
Dalam diagram ini terlihat bahwa CU(Control Unit) maupun ALU
(Arithmetic Logic Unit) mempunyai lokasi penyimpanan yang disebut
dengan register, yang didefinisikan sebagai berikut:

• Memory Buffer Register (MBR) 
Berisi word yang akan disimpan di memori atau digunakan
untuk menerima word dari memori. 

• Memory Address Register (MAR)
Mengalokasikan alamat di memori (word) untuk ditulis 
atau dibaca ke MBR. 

• Instruction Register (IR)
Berisi instruksi 8 bit op code (operation code) yang sedang 
dieksekusi. 

• Instruction Buffer Register (IBR) 
Digunakan untuk instruksi-instruksi sementara dari sebuah 
word di memori. 

• Program Counter (PC) 
Berisi alamat sepasang instruksi berikutnya yang akan
diambil (fetch) dari memori. 

• Accumulator (AC) dan Multiplier-Quotient (MQ) 
Digunakan untuk operan-operan dan hasil operasi ALU 
yang bersifat sementara. 

Catatan: 
Word disini adalah lokasi penyimpanan di memori IAS yang masing-
masing terdiri dari 40 bit (binary digit), dimana data dan instruksi 
disimpan disini dan berujud bilangan biner. 
Dari gambar di atas terlihat bahwa setiap word terdiri dari sign bit dan 39
bit nilai. Word juga dapat terdiri dari 2 buah instruksi 20 bit, dimana setiap
instruksi terdiri dari 8 bit op code dan 12 bit alamat dalam memori. Commercial Computers.
Pada tahun 1947, Eckert-Mauchly Computer Corporation yang 
didirikan oleh John Presper Eckert dan John Mauchly membuat pabrik 
komputer komersial (pembuatan secara massal dan dijual untuk umum). 
Komputer komersial pertama yang sukses dipasaran adalah UNIVAC I 
(Universal Automatic Computer). Kemudian pada tahun 1950 diluncurkan
UNIVAC II yang mempunyai memori lebih besar dan kecepatan yang 
lebih tinggi. Dengan diluncurkannya UNIVAC II ini ternyata membawa 
pengaruh terhadap industri komputer. Mengapa demikian ?

a. Pabrik-pabrik komputer akan melanjutkan pembuatan komputer 
yang lebih tinggi spesifikasinya dan lebih cepat unjuk kerjanya. 
b. Setiap pabrik komputer akan membuat komputer baru yang 
upward compatible dengan komputer yang lama, sehingga 
program-program yang ditulis untuk komputer lama akan dapat 
dijalankan di komputer baru. 

Disinilah nama IBM sudah mulai muncul dengan diluncurkannya
komputer yang disebut dengan Mark I. 

Array dalam Bahasa C


Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama.

Nilai-nilai data di suatu larik disebut dengan elemen-elemen larik.

Letak urutan dari suatu elemen larik ditunjukkan oleh suatu subscript atau suatu index.

Menurut dimensinya, array dapat dibedakan menjadi :

1.      Array berdimensi satu

o       Setiap elemen array dapat diakses melalui index

o       Index array secara default dimulai dari 0

o       Deklarasi array :

Tipe_array nama_array[ukuran]



2.      Array berdimensi dua

-          Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah kolom. Bentuknya dapat berupa matriks atau tabel.

-          Deklarasi array :

Tipe_array nama_array [baris][kolom]



3.      Array multidimensi

-          Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi array dimensi satu maupun dimensi dua.

-          Deklarasi array :

Tipe_array nama_array [ukuran 1][ukuran 2] . . . [ukuran N]



Perbedaan array dengan tipe data lain :

Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya dihubungkan dengan sebuah nilai saja.

Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain data (char, int, float, double, long, dll) yang sama dengan satu nama saja.

Selain itu, array dapat berupa  satu dimensi atau lebih, sedangkan tipe data lain hanya berupa satu dimensi.





Array juga dapat digunakan sebagai parameter. Jenisnya :
a.   Array dimensi satu sebagai parameter :

-     Pengiriman parameter berupa array dimensi satu merupakan pengiriman secara acuan/referensi, karena yang dikirimkan adalah alamat dari elemen pertama arraynya, bukan seluruh nilai-nilai elemenya. Alamat elemen pertama dari array dapat ditunjukkan oleh nama lariknya yang tidak ditulis dengan indeknya.

      Contoh:

#include <stdio.h>

#include <conio.h>



int length(char x[]);



int main()

{

char string[256];

printf(“Ketikkan sembarang kalimat <maks.256 karakter> : “);

   gets(string);

Lstring=length(string);

getch();

return(0);

}



int length(char x[])

{

    int i, cek, L=0;  

    for(i=0;i<256;i++)

    {

        if (x[i]!=”)

            L+=1;

        else break;

    }

    return(L);    

}

b.   Array dua dimensi sebagai parameter :

-     Pengiriman parameter berupa array dua dimensi hampir sama dengan pengiriman parameter array satu dimensi, hanya saja perbedaannya adalah dalam array dua dimensi harus menyebutkan baris dan kolom array dimensi dua tersebut, mendeklarasikan MAX_ROWS dan MAX_COLS yang digunakan untuk pengiriman parameter array dua dimensi dan pada saat pengiriman parameter formal array dua dimensi, kita harus menyebutkan banyaknya dimensi array untuk kolom, sehingga ukuran kolom dapat diketahui, hal ini berkaitan dengan pemesanan variabel array di memori.

Contoh:

#include <stdio.h>

#include <conio.h>



void isi_matriks(int m[10][10],int b,int k);



int main()

{

int m1[10][10];

   printf(“Masukkan baris dan kolom Matriks I  <maks. 10 x 10> : “);

   scanf(“%d x %d”,&b1,&k1);

   printf(“Masukkan baris dan kolom Matriks II <maks. 10 x 10> : “);

   scanf(“%d x %d”,&b2,&k2);

   printf(“Masukkan isi Matriks I : \n”);

   isi_matriks(m1,b1,k1);

getch();

     return(0);

}



void isi_matriks(int m[10][10],int b,int k)

{

     int i,j;

     for (i=1;i<=b;i++)

     {

               for(j=1;j<=k;j++)

                 scanf(“%d”,&m[i][j]);

     }

     printf(“Matriks I : \n”);

     for (i=1;i<=b;i++)

     {

               for(j=1;j<=k;j++)

                 printf(“%8d”,m[i][j]);

               printf(“\n”);

     }

}

Bahasa C dan Library nya

Library function adalah fungsi-fungsi yang disediakan oleh bahasa C dan C++ dalam file-file header atau librarynya. Salah satu fungsi library yang telah diperkenalkan yaitu cout, yang berfungsi untuk mencetak ke layar monitor. Fungsi dikelompokan menurut jenis dan sifatnya kemudian disimpan didalam sebuah file yang berekstensi .h. Salah satunya adalah stdio.h.


Library stdio.h


Library stdio.h adalah library pada bahasa C yang digunakan untuk operasi input-output (stdio = Standar Input dan Output). Tanpa menggunakan library ini maka perintah-perintah input dan output tidak dapat dieksekusi.

Library Functions:

clearr()  fclose()   fccloseall() fdopen()   fflush()
fgetc()   fgetchar() fgetpos()    fgets()    flushall()
fopen()   fprint()   fputc()      fputchar() fputs()
fread()   free()     freopen()    fscan()    fseek()
fsetpos() ftell()    fwrite()     gets()     getw()
perror()  printf()   puts()       rename()   rewind()
scanf()   unlink()


library math.h merupakan sebuah library yang disediakan untuk melakukan perhitungan secara matematika.

Library Functions :

abs ()      acosh()      asin()      atan()      atan2()
atof()     ceil()       cos()       exp()       fabs()
floor()    fmod()       labs()      ldexp()    log()
log10()   pow()        sin()        sinh()      sqrt()
tan()       tanh()

Contoh pengguna library math.h dengan library functions cos() dan sin() dalam program :



Flowchart, Pengertian dan contohnya

Bagan alir  (flowchart) adalah bagan  (chart) yang menunjukkan alir  (flow) di dalam program atau prosedur sistem secara logika. Bagan alir digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi.

Bila seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti:

  1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri kekanan.
  2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.
  3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
  4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja
  5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.
  6. Lingkup dan range dari aktifitas yang sedang digambarkan harusditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.
  7. Gunakan simbol-simbol flowchart yang standar
contoh program:

Kalau dilihat struktur program nya, maaka akan terlihat percabangan, berikut contoh aliran flowchart dari cth diatas:



Kamis, 22 Maret 2012

Apa itu Operator?

Operand adalah sebuah objek yang ada pada operasi matematika yang dapat digunakan untuk melakukan operasi. Operand atau operator dalam bahasa C berbentuk simbol bukan berbentuk keyword atau kata yang biasa ada di bahasa pemrograman lain. Simbol yang digunakan bukan karakter yang ada dalam abjad tapi ada pada keyboard kita seperti =,<,>,* dan sebagainya. sumber (wikibooks)

1. Operator Assigment digunakan untuk memberikan nilai ke suatu variabel. Operator yang digunakan adalah opertor ’=’
2. Operator Aritmatika, seperti +, -, /, *, %
3. Operator Unary, Merupakan operator yang hanya menggunkan sebuah operand saja. Operator Unary memiliki jenjang ke-2
4. Operator Logika, Operator ini digunakan untuk membandingkan dua buah nilai logika. Nilai logika adalah nilai benar (1) atau salah (0).


Sejarah Komputer

Sejarah komputer mungkin bisa kita mulai dengan adanya ditemukannya alat penghitung di daratan cina, yaitu sempoa. Sehingga bisa kita katakan bahwa sempoa pada saat itu sebagai alat komputasi digital pertama. Pada langkah pengembangan komputer dimulai dari ada nya babage's Engine. Berikut tahapan-tahapan sesuai generasi nya:

1. Komputer Generasi pertama
Dimulai pada tahun 1946 - 1959, pada generasi ini penggunaan transistor menjadi bagian utama dari perkembangan komputer pada masa sekarang. Terdapat beberapa mesin pada saat ini, yaitu Eniac, IAS, dll. Jika di tanya atas dasar apa pembuatan komputer, mungkin dunia militer bisa menjadi jawab nya, karena pada saat itu diciptakan mesin yang berguna untuk menghitung tepat jatuh nya tembakan yang kemudian ide ini berkembang dari stored program.

2. Komputer Generasi Kedua
Dimulai dengan transistor menjadi bagian tak terpisahkan pada generasi ini, sehingga penggunaan transistor ini menjadi lambang daari komputer generasi kedua.

3. Komputer Generasi Ketiga
Jika pada komputer generasi pertama menggunakan transistor maka, pada generasi ini sudah mulai berkembang dengan menggunakan IC

4. Komputer Generasi Keempat
Merupakan generasi pada zaman sekarang dengan memanfaatkan teknologi VLSI.

Jumat, 16 Maret 2012

Review: Understanding Cyberworld 2020


Hari ini dapet film dokumenter menarik, mengenai tayangan yang menampilkan akan seperti apa masa depan nanti nya, sebenar nya film ini sudah lama, dan saya pun kayak nya dulu sudah pernah menonton sebelumnya.

Film dokumenter ini judulnya Cyberworld 2020 dari Discovery Channel. Di film ini diceritakan tentang keadaan teknologi pada tahun 2020 yang maju dan tidak pernah dibayangkan sebelumnya. Dimana seluruh aspek kehidupan kita telah terhubung oleh yang namanya teknologi. Komputer nggak lagi ada di dalam casing CPU saja, tapi bakalan ada disetiap alat-alat rumah tangga yang ada di rumah. Mulai dari buku, meja, piring, gelas, cermin, pas photo, sampe kemeja juga bakalan ditanamkan microchip. Dimana microchip ini sebagai pusat kerja seperti pengolahan tentang data perabotan, tanggal beli perabotan, dll.

Selain itu juga semakin berkembangnya bahasa pemrograman. Diharapkan di tahun 2020 bakalan banyak robot – robot canggih yang memiliki perasaan atau emosi. Yang dapat menggantikan tugas – tugas berat manusia. Robot yang dapat bergerak dan menentukan sendiri gerakan untuk pekerjaannya. Pada saat dahulu, hal ini adalah mustahil. Namun berkat Hukum Morris yang mengatakan bahawa perkembangan teknologi akan bertambah 2 kali lipat setiap 18 bulan, dan hal itu ia sampaikan pada tahun 1965. Dan sejauh ini prediksi Morris adalah benar.

Untuk dijadiin perbandingan, bahwa system komputerisasi yang ada pada mobil keluaran terbaru saat ini lebih rumit daripada system komputerisasi yang ada pada pesawat Apollo 11. Dan pada tahun 2020 nanti, keberadaan dunia fisika dan dunia virtual akan semakin dekat. Akan ada dunia dimana kita bisa melihat kejadian masa lalu dari tempat yang sedang kita pijak hanya melalui sebuah kacamata. Seorang mekanik akan bisa mengoprek mesin dari image 3D virtual.

Dan perkembangan teknologi juga merambah ke system yang dimiliki oleh polisi. Sekarang saja di sudut – sudut jalanan London, telah dipasangi ratusan kamera pengintai. Untuk merekam setiap kejadian dan untuk memudahkan penyelidikan. Namun saat ini computer belum dapat mengenal objek benda secara visual. Diharapkan pada tahun 2020, computer dapat mengenali objek benda secara visual. Sehingga dapat memudahkan kepolisian mencari 1 diantara ratusan orang pelaku kejahatan.

Pada akhirnya kita mau tidak mau hidup bersama teknologi. Teknologi yang memudahkan pekerjaan sehari – hari, membantu kita untuk meng-explore ilmu pengetahuan tak terbatas di dunia ini. Dan hidup bersama teknologi adalah sebuah kebutuhan dan kepastian, Bukan sebuah pilihan ! Sehingga menjadikan manusia lebih manusia.

Happy blogging :D




Memilih Spesifikasi Komputer dengan Bijak

Pada saat beberapa hari yang lalu, saya tersadar akan suatu hal yang penting dalam memilih spesifikasi komputer mungkin bisa dibilang saya tidak pernah menyadari. Dalam memilih komputer kita hendak nya memahami keterkaitan antara komponen hardware, seperti mobo, proc, dan juga memory. Keterkaitan ini seperti kecepatan FSB mobo dengan kecepatan memory dan juga kecepatan proc nya sendiri.

Front Side Bus, disingkat dengan FSB adalah kecepatan bus atau kecepatan jalur yang menghubungkan antara prosesor dengan motherboard, atau lebih tepatnya antara prosesor dengan chip north bridge pada motherboard. North bridge adalah chip perantara antara Motherboard dengan processor. Sebagai contoh, processor Pentium 4 yang mengisyaratkan FSB sebesar 400 MHz artinya kecepatan komunikasi antara Motherboard dengan Processor melalui north bridge adalah 400 MHz perdetik.

Kesesuian  dengan kecepatan transfer memory pada mobo juga harus disesuaikan dengan kecepatan nya RAM, karena setiap Mobo mempunyai dukungan kecepatan tertentu.

Berikut contoh spesifikasi komputer yang diperuntukan untuk programming:















Kamis, 15 Maret 2012

Mengenal Algoritma dan Struktur Data


Algoritma merupakan tahapan-tahapan untuk mencapai hasil. Jadi Algoritma tidak selalu berhubungan dengan Ilmu Komputer. Misalkan cara membuat cake. Pertama kita harus mempersiapkan adonan cake. Kemudian apabila adonan tersebut telah jadi, panaskan oven. Kemudian taruh adonan cake tersebut kedalam Loyang yang telah dioleskan mentega dan ditaburi sedikit tepung. Apabila adonan tersebut telah dimasukkan kedalam Loyang,masukkan Loyang yang berisi adonan cake tersebut kedalam oven yang telah di tentukan suhunya tadi. Tunggulah kira-kira setengah jam. Maka adonan cake tersebut akan menjadi kue cake. 


Dalam istilah ilmu komputer, sebuah struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien. Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) atau pun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna.