OCWN

OCWN

Kamis, 19 April 2012

CONTENT MANAGEMENT SYSTEM BERBASIS WEB





Pada suatu situs atau aplikasi, tentu Anda memiliki content yang ditampilkan. Misalkan berita, produk, ataupun promosi-promosi tertentu. Anda memerlukan suatu sistem untuk mengatur content tersebut, sistem tersebut yang dikenal dengan Content Management System (CMS).


Sebuah CMS berbasis web memiliki fitur-fitur untuk memudahkan pekerjaan Anda untuk mem-publish content situs Anda ke Internet agar semua orang dapat menikmati content terbaru.

CMS yang baik tentu memudahkan pengguna dan menghindari kompleksitas yang tidak diperlukan. Untuk membuat CMS tentu diperlukan kemampuan programming yang baik, tapi untuk menggunakan CMS, tidak diperlukan kemampuan programming dan memang bukan tugas pengguna CMS jika harus melakukan kegiatan programming.

CMS dapat mendukung fitur-fitur sebagai berikut:


1. Melakukan import dan menciptakan dokumen dan materi multimedia.
2. Mengidentifikasi pengguna dan pengaturan content management.
3. Kemampuan untuk memberikan tugas dan tanggung jawab pada kategori content yang berlainan.
4. Definisi pengaturan content, dimana terdapat pemberitahuan untuk content yang berubah.
5. Kemampuan untuk melakukan tracking pada perubahan content.
6. Kemampuan untuk publish content.

Pada awalnya, CMS dikembangkan secara internal oleh organisasi yang banyak melakukan web publishing, seperti majalah dan koran online, juga newsletter.



Urutan Pengoperasian


Bayangkan tahap pengerjaan pada sebuah surat kabar secara manual, dimulai dari tahap pertama. Seorang Content Creator membuat dokumen atau berita baru, tugas selanjutnya berada pada tangan Copy Editor, yang dapat menolak atau menyetujui, atau memberikan komentar pada dokumen tersebut.

Kemudian seorang Layout Editor akan melakukan layout yang diperlukan, setelah itu Chief Editor memiliki tanggung jawab untuk melakukan publikasi dokumen tersebut.


Demikian pula pengoperasian pada CMS, yang membantu melakukan pengontrolan masing-masing langkah pengoperasian diatas. Content dan semua informasi terkait pada umumnya disimpan pada sebuah sistem relational database yang tentu sudah tidak asing lagi bagi Anda.

Secara contoh nyata, perubahan apa saja content yang dapat Anda lakukan pada CMS? Walaupun bukan sebuah keharusan, pada sebuah CMS umumnya Anda dapat melakukan perubahan content terhadap:

1. Block.
2. Module.
3. Theme.

Masing-masing akan dijelaskan secara terpisah.

Block

Block merupakan sebuah bagian yang membentuk website secara keseluruhan. Contohnya suatu block header yang terdiri dari logo dan kata pengantar, atau block footer yang berisi alamat perusahaan, ataupun menu navigasi pada sisi kiri.

Block dapat digunakan pada setiap halaman website, sehingga Anda dapat membayangkan betapa repotnya jika Anda hanya ingin mengubah alamat perusahaan pada footer, Anda harus mengganti seluruh halaman yang ada!
Dengan block, potongan-potongan kode program dipisahkan dengan rapi dan melalui CMS, Anda dapat melakukan perubahan terhadap masing-masing block tersebut.

Module

Banyak modul yang membentuk sebuah situs, misalnya modul artikel, FAQ, produk, gallery, dan lain sebagainya. Setiap modul penting sebaiknya dibuat secara dinamis, dan dapat diupdate dengan mudah melalui CMS.

Aplikasi CMS juga sering kali menyertakan tools WYSIWYG editor untuk memudahkan pengguna melakukan perubahan content. Seperti yang Anda ketahui, browser menterjemahkan kode-kode tag HTML sehingga tampil dengan format tertentu seperti huruf berjenis bold, italic, dan lain sebagainya.

Tanpa menggunakan tools WYSIWYG editor, pengguna CMS harus mengetikkan tag-tag HTML untuk membuat format-format tertentu,tetapi dengan tools WYSIWYG editor, pengguna dapat mengetik dan memberikan format tulisan dengan mudah sebagaimana layaknya menulis pada aplikasi word processing. Beberapa WYSIWYG editor bahkan menyediakan icon-icon smiley yang gaul.

Pada CMS, juga mungkin terdapat modul khusus, seperti modul system dan administrator. Penggunaannya dapat dikembangkan menjadi banyak hal, seperti memberikan hak akses dan membuat tingkatan security bagi pengguna.

Theme

Bagian theme sering berubah sesuai event yang tengah atau akan berlangsung. Sebuah theme (tema) adalah tampilan kosmetik yang terdapat pada setiap halaman website, dan mengontrol properti seperti warna dan font.

Dengan Apa CMS dibuat?

Sebuah CMS berbasis web pada dasarnya sama dengan aplikasi web yang telah Anda kenal. Anda perlu memiliki sistem relational database seperti MySQL, Microsoft SQL Server, PostgreSQL dan lain sebagainya. Sebagai bahasa pemrograman/script, Anda dapat menggunakan PHP, JSP, ASP, ColdFusion dan lain sebagainya.

Apakah sebuah situs harus memiliki CMS? Jika situs Anda merupakan sebuah web dinamis, jawabannya tentu sebaiknya Anda memiliki CMS. Dengan CMS, Anda dapat melakukan pemeliharaan dan pembaharuan isi website dengan mudah tanpa memiliki keahlian seorang webmaster!

Memilih Produk CMS

Terdapat cukup banyak aplikasi CMS sebagai sebuah paket produk yang dapat disesuaikan dengan kebutuhan Anda, walau tidak tertutup kemungkinan untuk membuat sendiri CMS jika Anda memiliki team developer.

Sebelum memilih CMS, terlebih dahulu Anda harus menuliskan tipe perusahaan Anda sebagai titik awalnya, dapat dimulai dengan, apakah perusahaan Anda merupakan perusahaan kecil, menengah, atau besar dan sejauh mana kebutuhannya akan CMS, apakah keberadaan CMS akan menangani kebutuhan Intranet maupun Internet.

Selanjutnya content yang akan dipublish oleh CMS. Apakah berupa halaman web sederhana, atau halaman web yang kompleks dengan layout yang spesifik, informasi dinamis dari database, dan lain sebagainya.

Sesuaikan tujuan dan strategi Anda, termasuk strategi jangka panjang bisnis Anda. Beberapa kunci keunggulan CMS yang dapat Anda bandingkan satu sama lain:

1. Workflow.
Kemudahan customize pada workflow yang digunakan oleh perusahaan Anda menjadi salah satu kunci yang Anda perlukan. Pertimbangkan apakah CMS yang Anda pilih dapat menjalankan workflow pada perusahaan Anda.

 2. Security.
Merupakan faktor untuk memproteksi keamanan integritas content. Adanya level security dan tracking/audit trail akan merupakan nilai tambah.

3. Report.
CMS harus menyediakan laporan dengan ruang lingkup yang luas. Baik untuk level pengguna maupun administrator. Dukungan untuk menghasilkan laporan yang dapat di customize juga dibutuhkan dalam beberapa kasus.

Termasuk adalah laporan untuk statistik penggunaan, misalnya penggunaan harian, halaman dengan rating paling tinggi, ataupun penggunaan search engine.

Selanjutnya dari sisi presentation, juga perlu dipertimbangkan dukungan cross-browser, kecepatan akses, navigasi dan lain sebagainya.

Khusus jika Anda ingin membeli produk CMS, perhatikan training yang Anda dapatkan, dokumentasi (untuk pengguna, administrator, dan developer), garansi, persetujuan maintenance, resource yang diperlukan (hardware, software, operating system), skill yang diperlukan untuk menggunakan CMS tersebut, dan tentu saja harga dan referensi dimana CMS tersebut pernah diimplementasi. Referensi berguna untuk membandingkan karakteristik antara organisasi yang menjadi referensi dengan organisasi Anda.

CMS Open Source


Jika pada operating system Anda telah mengenal platform open source, kemudian tools developer atau relational database berbasis open source, maka tidak heran Anda juga akan mendapatkan aplikasi open source.

Demikian pula pada CMS, terdapat cukup banyak CMS open source, antara lain adalah:

1. e107.

Salah satu CMS favorit yang dibuat dengan kombinasi PHP dan MySQL. Dapat di customize dengan mudah dan terus dikembangkan.

2. PHP-Nuke.
Dengan PHP-Nuke, Anda dapat melakukan proses administrasi dan maintenance content untuk kebutuhan Intranet maupun Internet.

3. Joomla!.

Salah satu CMS yang terkenal dan digunakan mulai dari website sederhana hingga aplikasi corporate yang kompleks.

Masih cukup banyak CMS dengan masing-masing keunggulan dan kelemahannya, beberapa yang populer adalah YACS, MODx, PHP-Fusion, WordPress, Drupal, Xaraya, Plone, Mambo, PostNuke, phpBB, dan lain sebagainya.

Wah, ternyata memilih CMS open source lebih pusing lagi! Mungkin demikian komentar Anda. Sebaiknya Anda perlu mengenal CMS open source secara umum lebih jauh lagi.

Kebanyakan CMS open source berjalan pada platform LAMP, apakah LAMP itu? LAMP merupakan singkatan yang menunjukkan Linux, Apache, MySQL, dan PHP yang memang keseluruhannya merupakan open source.

Jika Anda mengunjungi masing-masing situs CMS tersebut dan semakin bingung karena semuanya mengaku bahwa CMS mereka merupakan solusi untuk Anda, maka Anda mungkin akan mendapatkan pencerahan dengan melihat siapa yang telah menggunakannya.

Saat mengevaluasi sebuah CMS, cari link yang menunjukkan situs yang menggunakan CMS tersebut. Sebagai contoh, jika Anda melihat Mamboo, maka CMS tersebut digunakan oleh banyak situs menarik dengan ukuran bisnis relatif kecil dengan berbagai background.


Acuan selanjutnya, pastikan CMS tersebut masih terus dikembangkan sehingga terus dilakukan perbaikan-perbaikan. Masuk dalam forum diskusi juga dapat memberikan informasi berguna bagi Anda.

Jika dari seluruh referensi yang Anda dapatkan, Anda masih belum mendapatkan gambaran yang cukup, maka langkah ini pasti akan menjawabnya, yaitu gunakan versi demo! Situs www.opensourcecms.com memberikan Anda dua jam akses demo untuk lebih dari 100 CMS open source yang tersedia.

Membangun Sendiri CMS

Jika darah programmer Anda bergolak atau Anda memiliki suatu nama unik yang menurut Anda cocok sebagai nama sebuah CMS, mungkin timbul motivasi Anda untuk membuat sendiri CMS, atau paling tidak sekedar mengetahui bagaimana membuat CMS.

Panduan pertama adalah membuat daftar kebutuhan pengguna, dimana pada intinya CMS Anda akan mengijinkan content situs Intranet/Internet dapat dengan mudah disimpan dan di manage didalam sebuah database, dengan tambahan beberapa fitur seperti otorisasi pengguna atau tingkat pengguna.

Sebuah interface yang mudah digunakan untuk melakukan proses add, remove, dan modify isi merupakan sebuah keharusan. Lakukan pemrograman secara OOP atau paling tidak secara modular, karena CMS Anda berpeluang terus dikembangkan dan menjadi besar.

Gunakan bahasa pemrograman dan database yang Anda kuasai, atau direkomendasikan. Untuk aplikasi web berbasis Linux, salah satu pilihan Anda dapat menggunakan PHP dan MySQL, ataupun menggunakan ASP / ASP.NET dan SQL Server untuk platform Windows.

Fokuskan dalam melakukan design database terlebih dahulu, design table berikut field seperti table untuk menampung artikel, produk, dan lain-lain.

CMS merupakan pengolahan content, karena itu content yang masuk dan diolah harus valid, dalam artian Anda harus melakukan memproteksi maksimal. Buat juga log untuk kegiatan detail pengguna agar dapat dilakukan trace back untuk kegiatan yang telah terjadi. Setiap pengguna CMS harus bertanggung jawab atas hak yang telah diberikan, sesuai dengan level atau group security-nya.

Untuk estetika CMS, berbeda dengan saat Anda membangun situs multimedia yang wah, pada CMS justru Anda seharusnya meminimalisasi desain, tetapi memiliki interface yang atraktif. Google adalah contoh yang baik dalam hal ini.

Jika Anda telah berhasil membuat sebuah basic CMS yang baik, maka akan banyak ide yang dapat direalisasikan untuk pengembangannya. Contohnya menambahkan WYSIWYG editor, menciptakan profile untuk masing-masing pengguna CMS, atau tools untuk berkomunikasi lebih lanjut, seperti forum publik, calendar, dan banyak lagi.

Tentu saja apa yang telah dijelaskan diatas hanyalah aspek-aspek utama, dalam prakteknya Anda akan menemui lebih banyak lagi permasalahan yang tentunya secara positif akan semakin memperbaiki CMS Anda.

Sumber : Majalah PC Media Edisi 04/2007

Kamis, 12 April 2012

INHERITANCE dan POLYMORPHISME

Pada posting kali ini saya akan membahas mengenai enkapsulasi java. Sebelumnya kita harus mengetahui apa sih pengertian polymorphism dan inheritance pada java itu ??


Polymorphism, suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.

berikut adalah contoh programnya..
1.simpan dengan nama sayur.java
class Sayur {
String nama, jenis, berwarna;
\\ deklarasi tipe data untuk nama, jenis dan warna adalah String
Sayur(String nama, String jenis, String berwarna){
this.nama=nama;
this.jenis=jenis;
this.berwarna=berwarna;
}
public String toString(){
  return "Ini adalah "+jenis+"\nNamanya "+nama+"\n"+berwarna;
\\ return disini berfungsi untuk mengembalikan string ke awal.
}
  public void berwarna(){
}
}



2. simpan dengan nama  Polimorfisme .java
import java.util.*;
class Polimorfisme{
  public static void main(String args[]){

Sayur[] Sayurnya = {
new Tomat("Tomat", "tomat belanda", "merah"),
new Bayam("Bayam", "bayam prancis", "hijau "),
new Terong("Terong", "terong belanda", "ungu")
};
Sayur PilihSayur;
Random Pilih = new Random();
for (int i = 0; i<5 ; i++){
PilihSayur = Sayurnya[Pilih.nextInt(Sayurnya.length)];
System.out.println("\nPilihan Anda:\n" + PilihSayur);
}
}
}



3. simpan dengan nama Tomat.java
class Tomat extends Sayur{
private String nama,jenis,berwarna;
Tomat(String nama, String jenis, String berwarna){
super(nama, jenis,berwarna);
}
public void ShowTomat(){

System.out.println("Nama sayur : "+nama);
System.out.println("Jenis : "+jenis);
}
public void berwarna(){
//sintaks menampilkan suara hewan
System.out.println("meraaaaah.. ");
  }
}


4. simpan dengan nama  Bayam.java 
class Bayam extends Sayur{
private String nama,jenis,berwarna;
Bayam(String nama, String jenis, String berwarna){
super(nama, jenis, berwarna);
}
public void ShowBayam(){
System.out.println("Nama sayur : "+nama);
System.out.println("Jenis : "+jenis);
}
public void berwarna(){
System.out.println("hijauuuuu ");
}
}




5. simpan dengan nama  Terong .java
class Terong extends Sayur{
private String nama,jenis,berwarna;
Terong(String nama, String jenis, String berwarna){
super(nama, jenis, berwarna);
}
public void ShowTerong(){
System.out.println("Nama sayur : "+nama);
System.out.println("Jenis : "+jenis);
}
public void berwarna(){
System.out.println("Ungu ");
}
}


 

  Selanjutnya simpan semua listing  dengan nama yang telah diberikan. Setelah semuanya disimpan compile satu persatu kemudian running program   Polimorfisme .java

Output program





Selanjutnya adalah inheritance

Inheritance atau pewarisan pada pemrograman berorientasi objek merupakan suatu hubungan dua buah kelas atau lebih. Dengan membangun class baru dengan memanfaatkan class yang telah ada. Bertujuan untuk menggunakan kembali (reuse) code yang telah didefinisikan pada class yang telah ada untuk membentuk class baru class baru disebut dengan subclass (derived/child class). Dalam hal ini ada kelas yang memiliki atribut dan metode yang sama dengan kelas lainnya beserta atribut dan metode tambahan yang merupakan sifat khusus kelas yang menjadi turunannya.
Class yang menjadi class dasar untuk membentuk class baru disebut superclass (base/parent class). Pada Java, class Object merupakan class yang berada pada tingkat hirarki tertinggi. Seluruh class yang ada pada Java merupakan subclass dari class Object . Subclass dapat menambah atribut/method baru (extends). Subclass dapat mengubah implementasi method dari superclass (overriding).

Extends

  • Pada Java inheritance dilakukan dengan menggunakan kata kunci extend.
  • Suatu class hanya dapat diturunkan dari satu superclass (single inheritance).
  • Subclass mewarisi seluruh atribut dan method public dan protected dari superclass
  • Subclass tidak dapat mengakses atribut dan method private dari superclass
  • Objek superclass diakses menggunakan kata kunci super
  • Access specifier untuk masing-masing atribut dan method dari superclass tidak berubah pada subclass
  • Atribut/method private dari superclass tidak diwariskan  ke subclass
contoh programnya :
simpan dengan nama Bangun.java
class Bangun{
String nama, luas;
public Bangun(String nama){
this.nama = nama;
}
public void printBangunInfo(){
System.out.println("* Nama Bangun : "+nama+" *");
System.out.println("* Luas Bangun : "+luas+" *");
}
public void printBangunNama(){
System.out.println("* Nama Bangun : "+nama+" *");
}
public void printBangunLuas(){
System.out.println("* Luas Bangun : "+luas+" *");
}
}



simpan dengan nama Segitiga.java

class Segitiga extends Bangun{
String nama, luas;
int alas, tinggi;
public Segitiga(String nama){
super(nama);
}
public void printBangunInfo(){
super.printBangunInfo();
}
public void printBangunNama(){
super.printBangunNama();
}
public void printBangunLuas(){
super.luas = String.valueOf((alas*tinggi)/2);
super.printBangunLuas();
}

public void printAlas(){
System.out.println("* Alas : "+alas+" *");
}

public void printTinggi(){
System.out.println("* Tinggi : "+tinggi+" *");
}
}




Simpan dengan nama hasil.java

public class hasil{
public static void main (String[] args){
System.out.println("*********************************");
System.out.println("* LUAS BANGUN *");
System.out.println("*********************************");
Segitiga segitiga = new Segitiga("Segitiga");

segitiga.alas = 19;
segitiga.tinggi = 25;
segitiga.printBangunNama();
segitiga.printAlas();
segitiga.printTinggi();
segitiga.printBangunLuas();
System.out.println("*********************************");
System.out.println("* Hasil *");

segitiga.printBangunInfo();
System.out.println("*********************************");
}
}

      Pada saat class Manajer menurunkan atau memperluas (extend) class Bangun, maka ia mewarisi data member yang dipunyai oleh class Bangun. Dengan demikian, class Segitiga  mempunyai data member yang diwarisi oleh Bangun (nama bangun dan luas bangun), ditambah dengan data member yang ia punyai (alas dan tinggi segitiga).
        Pada kelas yang terakhir, fungsinya untuk memanggil kelas-kelas yang sudah dibuat sebelumnya, sehingga tidak usah memanggil secara satu-persatu. Saat kita menjalankan/mengcompile program ini, maka secara otomatis kelas-kelas yang sudah dibuat sebelumnya akan ikut terpanggil. 



Output program


Jumat, 06 April 2012

Enkapsulasi pada java

Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. atau pengertian lainnya Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class.
Dua hal yang mendasar dalam enkapsulasi yakni :

• Information hiding.
Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah 'public'. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol 'private' ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.

Perbedaan pemrograman terstruktur dan pemrograman berorientasi objek

Apa sih perbedaan dan persamaan pemrograman terstruktur dan pemrograman berorientasi objek???

Pemrograman berorientasi objek (object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Banyak sekali bahasa pemrograman yang mendukung OOP, antara lain : Java , C++ , PHP dan lain-lain.

Selasa, 03 April 2012

ARSITEKTUR KOMPUTER


ATRIBUT YANG DIGUNAKAN UNTUK MENGUKUR
KUALITAS KOMPUTER

GENERALITAS
Generalitas adalah ukuran besarnya jangkauan aplikasi yang bisa cocok dengan arsitektur. Sebagai contoh, komputer yang terutama digunakan untuk aplikasi ilmiah dan teknik menggunakan aritmetik floating-point (dengan nomor disimpan dengan penunjuk besarnya dan eksponennya) dan komputer yang terutama digunakan untuk aplikasi bisnis menggunakan aritmetik desimal (dengan nomor ditampilkan sesuai dengan digit desimalnya). Sistem umum memberikan dua jenis aritmetik.
Walaupun nomor instruksi dalam set instruksi bukan merupakan ukuran langsung bagi generalitas komputer, namun ia memberikan indikasi generalitas. Keanekaragaman modepengalamatan juga merupakan indikasi generalitas. Meskipun demikian, RISC begitu umum walau ia mempunyai set instruksi yang kecil dengan mode pengalamatan yang sedikit.
Salah satu pembahasan utama oleh kalangan peneliti komputer selama tahun 1980-an adalah persoalan bagusnya generalitas. Akhir-akhir ini, persoalan ini mengarah pada opini bahwa generalitas adalah tidak bermanfaat. Generalitas cenderung meningkatkan kekompleksan implementasi. Bagi rumpun komputer yang besar dari berbagai perusahaan, kekompleksan ini mengakibatkan sulitnya perancangan mesin. Generalitas juga cenderung membuat compiler optimisasi menjadi lebih kompleks, karena ia harus memilih lebih banyak instruksi ketika menggenerasi (menghasilkan) kode. Juga, generalitas cenderung mengakibatkan kompleksitas, dan desain sistem yang menggunakan komputer akan mengakibatkan kekompleksan software, yang seharusnya developer akan secara mudah mengoreksi kesalahan.
Salah satu argumen komersial dalam menerapkan generalitas adalah bahwa, karena ia menyebabkan perancangan komputer menjadi sulit, maka perusahaan yang melakukan perancangan tersebut bisa mengurangi peniruan rancangan oleh perusahaan lain. Tak ada perusahaan komputer yang besar ingin kehilangan pasamya atas rancangan komputer yang ia buat.

DAYA TERAP (APPLICABILITY)
Daya terap (applicability) adalah pemanfaatan arsitektur untuk penggunaan yang telah direncanakannya. Komputer yang terutama dirancang untuk satu dari dua area aplikasi utama: (1) aplikasi ilmiah dan teknis dan (2) aplikasi komersil biasa. Aplikasi ilmiah dan teknis adalah aplikasi yang biasanya untuk memecahkan persamaan kompleks dan untuk penggunaan aritmetik floating point ekstensif. Mereka ini adalah computation-intensive application (aplikasi komputasi intensit), yang berarti mereka mempunyai rasio operasi CPU ke memori dan operasi I/O yang jauh lebih tinggi dari pada aplikasi lain (walaupun banyak komputasi simbolisnya juga merupakan computation-intensive). Aplikasi komersil umum atau biasa adalah aplikasi yang didukung oleh pusat komputer biasa: menghimpun (compiling), menghitung (accounting), mengedit, penggunaan spreadsheet,dan word prosesing, seperti yang ada di komputer secara umum.

EFISIENSI
Efisiensi adalah ukuran rata-rata jumlah hardware dalam komputer yang selalu sibuk selama penggunaannya biasa. Arsitektur yang efisien memungkinkan (namun tidak memastikan) terjadinya implementasi yang efisien. Perlu anda catat, bahwa ada pertentangan antara efisiensi dan generalitas. Juga, karena turunnya harga komponen komputer,maka sekarang efisiensi tidak terlalu dipikirkan seperti halnya pada awal pengembangan komputer.
Namun demikian, arsitektur yang efisien akan memungkinkan terjadinya implementasi berkecepatan sangat tinggi dan berbiaya sangat rendah, dan dalam rumpun komputer yang besar, implementasi yang demikian tersebut sangat diperlukan. Salah satu sifat arsitektur yang efisien adalah bahwa ia secara relatif cenderung sederhana. Karena untuk merancangsistem yang kompleks secara benar begitu sulit, maka kebanyakan komputer mempunyai sebuah komputer inti  (core computer) efisien yang sederhana, yaitu CPU. CPU ini mempunyai layer kontrol disekelilingnya guna memberikan fasilitas yang canggih yang dibutuhkan oleh arsitektur.

KEMUDAHAN PENGGUNAAN ARSITEKTUR
Kemudahan penggunaan arsitektur adalah ukuran kesederhanan bagi programmer sistem untuk mengembangkan atau membuat software untuk arsitektur tersebut, misalnya sistem pengoperasiannya atau compilernya. Oleh karena itu, kemudahan penggunaan ini merupakan fungsi ISA dan berkaitan erat dengan generalitas. Definisi ini jangan dikacaukan dengan istilah ‘mudah untuk digunakan’ (friendly) yang diperuntukkan bagi pemakai dalam menggunakan komputer. Istilah mudah untuk digunakan ini ditentukan oleh sistem pengoperasian dan software yang ada,  bukannya arsitektur dasar. Kita bisa mengambil contoh dari beberapa komputer yang tidak mempunyai kemudahan penggunaan, dengan perancang compiler sulit mengimplementasikan beberapa bahasa pemrograman tingkat tinggi.
Set instruksi dari koniputer awal kadang-kadang kekurangan instruksi untuk melakukan operasi yang penting. Akibatnya, para programmer harus menggunakan urutan instruksi yang kacau untuk mengimplementasi operasi yang penting tersebut. Sekarang ini, arsitek set instruksi telah mempunyai banyak pengalaman untuk merancang set instruksi, sehingga kelemahan tersebut jarang ditemukan.

DAYA TEMPA (MALLEABILITY)
Empat ukuran sebelumnya daya terap, generalitas, efisiensi, dan kemudahan penggunaan berlaku untuk arsitekturrumpun komputer. Dua ukuran yang terakhir daya tempa dan daya kembang umumnya berlaku untuk implementasi komputer dalam satu rumpun. Daya terap arsitektur adalah ukuran kemudahan bagi perancang untuk mengimplementasikan komputer (yang mempunyai arsitektur itu) dalam jangkauan yang luas. Lebih spesifik arsitekturnya, maka akan lebih sulit untuk membuat mesin yangberbeda ukuran dan kinerjanya dari yang lain. Secara analogis, bila seseorang menamakan suatu arsitektur rumah sebagai rumah kolonial, maka dimungkinkan rumah tersebut mempunyai ukuran dan gaya yang berbeda dengan yang lain. Sebaliknya, jika arsitektur telah menentukan rencana induknya, maka hanya dimungkinkan sedikit variasi implementasi.
Umumnya, arsitektur mencakup banyak gambaran setiap tingkat dengan detail. Rencana dasar atau induk dari rumah kolonial tersebut meliputi berbagai detail, misalnya tembok, pintu, saluran listrik dan air. Dalam kaitannya dengan komputer personal standart industri, spesifikasinya longgar, seperti halnya spesifikasi pada rumah kolonial tersebut. Pada Apple Macintosh atau IBM PC AT, spesifikasi arsitekturnya jauh lebih lengkap, sehingga semua implementasi hampir sama.

DAYA KEMBANG (EXPANDABILITY)
Daya kembang (expandability) adalah ukuran kemudahan bagi perancang untuk meningkatkan kemampuan arsitektur, misalnya kemampuan ukuran memori maksimumnya atau kemampuan aritmetiknya. Umumnya, spesifikasi rumpun komputer memungkinkan perancang untuk menggunakan ukuran memori yang berjangkauan luas dalam anggota rumpun. Sebagai contoh, karena arsitektur DEC VAX hanya menentukan ukuran memori secara tidak langsung dan hanya berada dalam batasan luas tertentu, maka komputer VAX mempunyai ukuran memori yang bervariasi yang lebih dari satu faktor 1000.
Para perancang dapat memperoleh daya kembang memori ekstemal dengan berbagai cara: Mereka dapat meningkatkan jurhlah eralatan atau mereka dapat meningkatkan kecepatan peralatan tersebut dalam menggerakkan data ke dan dari dunia luar. Banyak arsitektur yang mengabaikan aspek penentuan struktur I/O. Kurangnya spesifikasi akan meningkatkan daya kembang, namun ia bisa juga meningkatkan jumlah pemrograman kembali yang diperlukan oleh anggota rumpun yang baru.
Beberapa komputer mempunyai lebih dari satu CPU. Dalam hal ini, daya kembang juga berkaitan dengan jumlah CPU yang dapat digunakan oleh sistem secara efektif. Barrier (penyangga) pada komputer yang mempunyai CPU lebih dari satu umumnya tidak jelas. Jika programmer sistem mendapatkan kesulitan untuk menyinkronkan CPU-CPU, misalnya, maka sinkronisasi ini secara efektif akan membatasi jumlah CPU yang dapat digunakan sistem.

FAKTOR YANG MEMPENGARUHI KEBERHASILAN ARSITEKTUR KOMPUTER

1.   MANFAAT ARSITEKTURAL

 Ada empat ukuran pokok yang menentukan keberhasilan arsitektur, yaitu manfaat arsitekturalnya (architectural merit) :
·         Daya terap Sebaiknya, arsitektur ditujukan untuk aplikasi yang telah ditentukan.
·         Daya tempaBila arsitekturlebih mudah membangunsistem yang kecil, maka  ia akan lebih baile.
·         Daya kembangLebih besar daya kembang arsitektur dalam daya komputasi,     ukuran memori, kapasitasI/O, dan jumlah prosesor,maka ia kan lebih baile.
·         Kompatibilitas (daya serasi-pasang).

2.   KETERBUKAAN ARSITEKTUR

Arsitektur dikatakan open (terbuka) bila perancangnya mempublikasikan spesifikasinya

3.   KEBERADAAN MODEL PEMROGRAMAN YANG KOMPATIBEL DON BISA DIPAHAMI

Beberapa komputer yang berparalel tinggi begitu sulit untuk digunakan, sehingga ia hanya menjadi daya tarik bagi para analis untuk menemukan cara baru untuk menggunakannya.

4.   KUALITAS IMPLEMENTASI AWAL

Ada beberapa komputer yang nampaknya merupakan mesin yang baik, yang mempunyai software dan sifat operasional yang baik.

5.   KINERJA SISTEM

Kinerja sistem sebagian ditentukan oleh kecepatan komputer. Untuk mengukur kinerja komputer, para arsitek menjalankan serangakian program yang standart, yang disebut benchmark,pada komputer. Benchmark ini memungkinkan arsitek untuk menentukan kecepatan relatif dari semua komputer yang menjalankan benchmark tersebut dan menentukan kecepatan absolute dari tiap komputer. Hasilnya bermanfaat bagi arsitek untuk melaporkan kinerja sistem dengan menggunakan berbagai performance metrics (metrik kinerja).

6.   BIAYA SISTEM

Bagian pokok dari biaya sistem computer adalah biaya peralatan logika dasarnya, yang sangat bervariasi dari peralatan satu dengan yang lainnya.  beberapa aplikasi dengan metrik tersebutdiperlukan adalah :
·         Reliabilitas (keandalan) adalah sangat diperlukan oleh computer yang digunakan untuk mengontrol penerbangan, mengontrol kearnanan instalasi nuklir, atau kegiatan apa saja yang mempertaruhkan keselarnatan manusia.
·         Kemudahan perbaikan khususnya penting bagi komputer yang mempunyai jumlah komponen yang besar.



  1. http://images.jabeschand.multiply.multiplycontent.com/attachment/0/SxnpWgoKCEoAADIp8fU1/1.2.%20Struktur%20dan%20Organisasi%20Komputer.pdf?key=jabeschand:journal:15&nmid=301982165
  2. http://eprints.undip.ac.id/4862/1/Dasar_Komputer_dan_Pemrograman.pdf
  3. http://www.suwidi.or.id/downloads/kuliah/ArKom%2002%20(Klasifikasi%20Sistem%20Komputer)%20PDF.pdf
  4.  
  5.