Rabu, 14 Juli 2010

Printer, 15 juli 2010
saya membeli printer Canon IP-1980 (beberapa menyebutnya IP 1900), tinta asli yang dari pabrikan sudah mau habis (pada kompi sudah muncul tanda seru) Hal ini membuat saya bingung, terlebih ketika saya harus menge-print lembar tugas saya yang panjangnya bisa sampai beberapa halaman. Niat saya untuk mengganti cartridge printer tersebut urung ketika saya mengetahui bahwa harga cartridge hitam yang baru Rp. 180.000 dan yang warna Rp. 220.000 (harga tersebut adalah harga pada Januari 2009 di kawasan Mangga Dua Jakarta). Kalau ditotal sekitar Rp. 400.000 (harga tersebut terlalu mahal bagi mahasiswa berkantong pas-pasan seperti saya). Jika ditambah sedikit lagi, harga tersebut sudah sama dengan harga printer yang baru (Rp. 550.000). Akhirnya saya mengambil jalan pintas, yaitu me-refill cartridge yang lama. Namun setelah di­-refill tampilan indikator tinta di monitor tidak mau naik, yang muncul malahan tulisan ­ink-out (tinta habis, harus diganti dengan cartridge yang baru) dan lampu orange pada printer berkedip-kedip. Akhirnya lewat sebuah eksperimen (dan saran dari beberapa teman), saya menemukan cara bagaimana agar printer tersebut mau tetap nge-print kendati tintanya sudah mau habis (atau sudah habis, tapi setelah di-refill tetap tidak terbaca). Ini dia caranya:

1. Matikan printer, cabut kabelnya dari stop kontak.

2. Tunggu sekira lima detik

3. Dengan kabel dalam keadaan tidak terpasang (tidak tercolok ke listrik) dan kabel USB tidak tersambung ke komputer/laptop , tekan dan tahan tombol power sekira tiga detik dengan jari tengah

4. Tetap tahan jari tengah anda di tombol power, tangan yang satunya mencolokkan kabel printer ke stop kontak. Lampu power akan menyala warna hijau (tidak kedap-kedip)

tekan power dengan jari tengah,tahan

tekan power dengan jari tengah,tahan

5. Tetap tahan jari tengah anda. Jari telunjuk menekan tombol resume dua kali (lampu akan berganti dari hijau-orange-hijau)

jari tengah menahan power, jari telunjuk menekan resume dua kali

6. Setelah itu, lepaskan kedua jari anda, tunggu printer hingga ready (ditunjukkan dengan lampu hijau menyala tidak putus-putus)

setelah menekan resume dua kali, lampu hijau akan menyala tidak putus-putus

setelah menekan resume dua kali, lampu hijau akan menyala tidak putus-putus

7. Jika tadinya anda sudah meng-install software printer tersebut, ­anda harus menghapusnya (uninstall)

8. Hubungkan printer ke computer

9. Komputer akan men­-detect printer anda sebagai printer baru

10. Maka install kembali software printer anda. Ini bertujuan untuk ‘menipu’ komputer anda agar tidak ‘mengingat’ bahwa tinta anda adalah tinta refill atau sudah mau habis. Sebagai bukti bahwa anda berhasil ‘menipu’ komputer anda, maka klik [Start]-[Settings]-[Printers and Faxes] dan anda akan melihat tampilan ‘Copy iP 1900 series (copy 1)’. Ini tandanya bahwa anda berhasil menginstall software anda.

img_1238

11. Gunakan printer seperti biasa

12. Apabila anda hendak mematikan printer, langsung saja cabut kabel powernya. Tidak usah tekan tombol apapun pada printer

13. Begitu seterusnya. Apabila anda ingin menggunakannya kembali, gunakan cara yang sama: cabut kabel-tahan power-colokkan kabel-tekan resume dua kali-gunakan.

Dengan cara seperti ini, printer tidak akan mempedulikan tinta anda, apakah asli-palsu, penuh-kosong, refill-bukan. Printer akan menge-print sesuai keinginan anda. Memang pada tampilan layar anda akan muncul tanda seru (layaknya tinta mau habis), tapi hal ini tidak usah dihiraukan.

tampilan-di-monitor-tinta-terkesan-mau-habis-tetapi-hal-ini-tidak-berpengaruh

Sudah tiga bulan saya menggunakan cara seperti ini, dan sampai sekarang tidak ada masalah apa-apa, kecuali orang lain yang mungkin agak heran melihat cara saya menyalakan printer tersebut. Saya juga pernah mengaplikasikan cara tersebut pada printer saya yang lama (Canon S400SP), dan lampu indikator menyala hijau tidak kedip-kedip menunjukkan printer dalam keadaan siap untuk dipakai. Namun karena kerusakan printer saya tersebut sudah terlalu parah (cartridge bocor dan menggenangi dasar printer), saya tidak pernah memakainya untuk menge-print. Mungkin cara ini bisa dicobakan ke printer-printer lain selain Canon IP 1980, namun maaf risiko anda tanggung sendiri.

Satu hal lagi, jika setelah melakukan hal tersebut ternyata anda diberi kemampuan untuk membeli cartridge baru (asli tentunya), maka cara ‘aneh ala saya’ tersebut dapat ditinggalkan. Caranya: uninstall software anda,nyalakan printer seperti biasa (sewajarnya, dengan hanya sekali menekan tombol power), pasang cartridge baru tersebut, dan install kembali softwarenya. Printer akan kembali normal.

Selamat mencoba.

sumber : http://sectiocadaveris.wordpress.com


Senin, 10 Mei 2010

Linux, 11 mei 2010

Beberapa waktu lalu saya kedatangan server baru HP Proliant ML370 G5. Dan bos saya menyuruh saya untuk menginstall Linux dalam hal ini Red Hat Enterprise Linux 5 Server (RHEL5) dan karena Server HP tipe ini punya Dual ethernet (NIC) maka lantas saja bos saya menyuruh saya untuk teaming NIC server tersebut.

Teaming/Bonding NIC?

Teaming NIC di kenal pada Windows Platform dengan menggunakan tools tapi di Linux istilah ini dikenal dengan Bonding NIC yang tujuannya adalah sama yakni methode menggabungkan multiple ethernet pada 1 (satu) IP (internet protocol) atau single interface untuk tujuan load balancing atau active backup (redundant).

Configuring

Pertama saya masuk dalam direktori /etc/sysconfig/network-scripts

[root@nameserver sysconfig]# cd /etc/sysconfig/network-scripts

Dalam direktori ini saya akan mulai konfigurasi ethernetnya menggunakan command vi, karena ethernetnya ada dua maka saya buat eth0 dan eth1.

[root@nameserver network-scripts]# vi ifcfg-eth0

Kemudian masukkan konfigurasi seperti dibawah ini setelah menekan insert;

DEVICE=eth0
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
PERDNS=no
TYPE=Ethernet
BOOTPROTO=no

Setelah selesai tekan escape kemudian :wq untuk menyimpan.

Kemudian masih dalam direktori yang sama saya buat lagi untuk ethernet yang kedua (eth1) dengan menggunakan command vi juga

[root@nameserver network-scripts]# vi ifcfg-eth1

Kemudian masukkan konfigurasi seperti dibawah ini setelah menekan insert;

DEVICE=eth1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
PERDNS=no
TYPE=Ethernet
BOOTPROTO=no

Setelah selesai tekan escape kemudian :wq untuk menyimpan.

Masih dalam direktory yang sama juga, kemudian saya buat file konfigurasi baru (bond0) dengan menggunakan command vi;

[root@nameserver network-scripts]# vi ifcfg-bond0

Kemudian masukkan konfigurasi seperti dibawah ini setelah menekan insert;

DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETWORK=192.168.1.0
NETMASK=255.255.255.0
IPADDR=192.168.1.2
USERCTL=no
GATEWAY=192.168.1.3
TYPE=Ethernet
IPV6INIT=no
PEERDNS=no

Setelah selesai tekan escape kemudian :wq untuk menyimpan.

Kemudian saya pindah ke direktori /etc untuk memberikan alias dari konfigurasi bonding yang saya buat; dalam hal ini saya edit configurasi file modprobe.conf;

[root@nameserver ~]#vi /etc/modprobe.conf

Kemudian masukkan konfigurasi seperti dibawah ini setelah menekan insert;

alias bond0 bonding
options bond0 miimon=100 mode=active-backup
alias eth0 bnx2
alias eth1 bnx2
alias scsi_hostadapter cciss
alias scsi_hostadapter1 ata_piix

Setelah selesai tekan escape kemudian :wq untuk menyimpan.

Finalizing

Kemudian restart service networknya atau restart OS;

[root@nameserver ~]# service network restart

Setelah itu kita bisa check hasil configurasi tadi dengan command ifconfig

[root@nameserver ~]# ifconfig

Dan terlihatlah hasilnya;

bond0 Link encap:Ethernet HWaddr 00:1E:0B:D0:51:E0
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21e:bff:fed0:51e0/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:866801206 errors:0 dropped:0 overruns:0 frame:0
TX packets:1277514933 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1909278714 (1.7 GiB) TX bytes:1027430962 (979.8 MiB)

eth0 Link encap:Ethernet HWaddr 00:1E:0B:D0:51:E0
inet6 addr: fe80::21e:bff:fed0:51e0/64 Scope:Link
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:860479510 errors:0 dropped:0 overruns:0 frame:0
TX packets:1277514853 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1116089563 (1.0 GiB) TX bytes:1027418498 (979.8 MiB)
Interrupt:16 Memory:f8000000-f8012100

eth1 Link encap:Ethernet HWaddr 00:1E:0B:D0:51:E0
inet6 addr: fe80::21e:bff:fed0:51e0/64 Scope:Link
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:6321696 errors:0 dropped:0 overruns:0 frame:0
TX packets:80 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:793189151 (756.4 MiB) TX bytes:12464 (12.1 KiB)
Interrupt:17 Memory:fa000000-fa012100

Langkah terakhir tinggal saya ping ke network sambil cabut salah satu cable CAT 5 yang terhubung ke RJ45 yang ada di salah satu NIC tersebut.. Dan hasilnya ping masih berjalan.. reply..



Sabtu, 08 Mei 2010




1.
Short Message Service (SMS) adalah layanan dasar telekomunikasi seluler, yang tersedia baik di jaringan GSM maupun CDMA. Sebagai layanan dasar, service sms dapat digunakan pada semua jenis hand phone (HP). Setiap SIM card dari sebuah operator yang diaktifkan hampir dipastikan dapat langsung dapat digunanakan untuk sms, karena SIM card akan otomatis menyediakan setting service center di HP tersebut.

Kemudahan penggunaan, variasi layanan, dan promosi yang cukup gencar dari operator seluler menjadikan sms sebagai layanan yang cukup populer di masyarakat sejak akhir 90 an sampai sekarang. Seiring perkembangan teknologi dan kreativitas dari operator dan service provider, layanan sms yang mulanya hanya untuk saling kirim pesan antara subscriber (point-to-point) kini berkembang berkembang dan lebih variatif, seperti layanan polling, ringtone, sms premium, mobile bangking, ticketing dll.

Artikel ini menjelaskan mengenai prinsip dasar kerja sms, dan diharapkan dapat menambah wawasan bagi anda yang baru menganal dunia telekomunikasi.

Untuk mengetahui bagaimana proses pengiriman sms berlangsung, kita perlu lebih dulu mengetahui arsitektur jaringan yang dipakai. Di Indonesia ada 2 macam teknologi jaringan seluler yang cukup populer, yaitu GSM dan CDMA. Teknologi jaringan itu kini mengalami perkembangan dan tentunya menawarkan berbagai kelebihan, diantaranya teknologi WCDMA, UMTS (3G) dan CDMA 2000. Pembahasan kali ini akan dijelaskan lebih fokus pada arsitektur jaringan GSM.

1.Arsitektur Jaringan GSM

Dalam jaringan GSM umumnya ada beberapa perangkat pokok diantaranya BTS, BSC, MSC/VLR, HLR dan SMSC. Berikut ini penjelasan masing-masing perangkat.
Arsitektur Jaringan GSM

Dalam jaringan GSM umumnya ada beberapa perangkat pokok diantaranya BTS, BSC, MSC/VLR, HLR dan SMSC. Berikut ini penjelasan masing-masing perangkat.Base Transceiver Station (BTS)
BTS berfungsi sebagai perangkat tranceiver untuk melakukan komunikasi dengan semua handset (MS) yang aktif dan berada dalam area cakupannya (cell). BTS melaksanakan proses modulasi/demodulasi sinyal, equalisasi sinyal dan pengkodean error (error coding). Beberapa BTS dapat terhubung dengan sebuah BSC (Base stasion Controller), sementara itu radius cakupan dari suatu cell berkisar antara 10 sampai 200 m untuk cell terkecil hinggal beberapa kilometer untuk cell terbesar. Sebuah BTS biasanya dapat melayani 20–40 komunikasi panggilan secara bersamaan.

1.Base Station Controller (BSC)
BSC menyediakan fungsi pengaturan pada beberapa BTS yang dikendalikannya. Dinataranya fungsi handover, konfigurasi cell site, pengaturan sumber daya radio, serta tuning power dan frekuensi pada suatu BTS.
BSC merupakan simpul (konmsentrator) untuk menghubungkan dengan core network. Dalam jaringan GSM umumnya sebuah BSc dapat mengatur 70 buah BTS.

2.Mobile Switching Center (MSC) and Visitor Location Register (VLR)
MSC berfungsi melakukan fungsi switching dan bertanggung jawab untuk melakukan pengaturan panggilan, call setup, release, dan routing. MSC juga melakukan fungsi billing (terhubung ke billing system) dan sebagai gateway ke jaringan lain. VLR berisi informasi user yang bersifat dinamis yang sedang “attach” berada pada jaringan mobile, termasuk letak geografis. Biasanya VLR terintegrasi dengan MSC.

Dari MSC sebuah jaringan seluler berkomunikasi dengan jaringan luar, misalnya : jaringan telepon rumah/Public Switched Telephone Network (PSTN), jaringan data Integrated Services Digital Network (ISDN),
Circuit Switched Public Data Network (CSPDN), dan Packet Switched Public Data Network (PSPDN).

3.Home Location Register (HLR)
HLR adalah perangkat yang berisi data detail untuk tiap subscriber. Sebuah HLR umumnya mampu berisi ribuan sampai jutaan data pelanggan. Informasi yang ada di HLR antara lain Mobile Station ISDN Number (MSISDN), International Mobile Subscriber Identity (IMSI), profile service subscriber,dll. Untuk komunikasi dengan elemen jaringan lain, HLR menggunakan protokol MAP (Mobile Application Part)

4.Short Message Service Center (SMSC)
SMSC mempunyai peran penting dalam arsitektur sms. SMSC berfungsi menyampaikan pesan sms antar Mobile Station(MS)/ HP, dan juga melakukan fungsi store-and-forwarding sms jika nomor penerima sedang tidak dapat menerima pesan. Didalam jaringanya sebuah operator dapat mempunyai lebih dari satu perangkat SMSC, sesuai besar trafik sms jaringan tersebut. SMSC dapat berkomunikasi dengan elemen lain seperti MSC, dan HLR dengan menggunakan protokol MAP. Seiring berkembangnya layanan, SMSC juga dapat berkomunikasi dengan server aplikasi menggunakan sebuah protokol yang cukup pupuler yaitu, Short Message Peer tio Peer Protocol (SMPP).

2.Diagram Alir SMS

Ada dua macam layanan dasar SMS:
- Mobile terminated (from a SMS–C to a mobile station (MS)) SMS
- Mobile originated (from a mobile station to a SMS–C) SMS

SMS Mobile Terminating (SMS MT)
SMS MT adalah pengiriman SMS dari SMSC ke MS. Untuk pegiriman SMS ini akan disediakan informasi pengiriman, baik delivery report untuk SMS yang berhasil maupun failure report untuk pengiriman yang gagal karena sebeb tertentu, sehingga memungkinkan SMSC untuk melakukan pengiriman ulang.
Diagram Alir SMS

Diagram Alir SMS Mobile Terminating.
1. A (misal: aplikasi) mengirim pesan ke SMSC
2. SMSC mengirimkan pesan ke SMS–GMSC.
3. SMS–GMSC menginterogasi HLR untuk informasi routing.
4. HLR membalas informasi routing ke SMS-GMSC.
5. SMS-GMSC meneruskan pesan ke MSC/VLR.
6. MS di-paging dan koneksi terbentuk antara MS dan network, sebagaimana dalam setup pangilan normal.
(Dengan demikian posisi MS diketahui dan apakah MS boleh berada dalam network / proses otentikasi).
7. Jika otentikasi berhasil, MSC/VLR mengirim pesan sms tersebut ke MS. SMS dikirim melalui kanal signaling SDCCH)
8. Jika pengiriman berhasil, delivery report dikirim dari MSC/VLR ke SMSC. Namun jika tidak, MSC/VLR akan menginformasikan ke HLR, dan failure report dikirim ke SMS–C.
Pada kasus pengiriman yang gagal, HLR dan VLR akan mendapat informasi “Messages waiting” yang menunjukkan ada pesan di SMSC yang menunggu untuk dikirimkan ke MS.
Informasi di HLR terdiri dari list SMSC pengirim pesan, sedangkan di VLR terdapat “flag” yang menunjukkkan apakah list pesan dalam keadaan kosong atau tidak.
Jika MS available dan siap menerima pesan, maka HLR akan memberitahu SMSC.

SMS Mobile Originating (SMS MO)
SMS MO adalah proses pengiriman SMS dari MS ke SMSC.
Jika SMS terkirim ke MS akan mendapat report “message sent”, sementara jika gagal MS report yang terlihat adalah “sending failed”.
SMS Mobile Originating (SMS MO)

Diagram alir SMS MO:
1. MS membuat koneksi ke jaringan, sebagaimana dalam setup panggilan normal.
2. Jika otentikasi berhasil, MS akan mengirim SMS ke SMSC melalui MSC/VLR. Selanjutnya SMSC akan meneruskan SMS ke tujuan.

Quote:
SMS Gateway
*Apa itu SMS Gateway?
SMS gateway adalah sebuah perangkat yang menawarkan layanan transit SMS, mentransformasikan pesan ke jaringan selular dari media lain, atau sebaliknya, sehingga memungkinkan pengiriman atau penerimaan pesan SMS dengan atau tanpa menggunakan ponsel.

Sebagaimana penjelasan diatas, SMS Gateway dapat terhubung ke media lain seperti perangkat SMSC dan server milik Content Provider melalui link IP untuk memproses suatu layanan SMS.

Sebuah sistem SMS Gateway, umumnya terdiri komponen Hardware ( Server/Komputer yang dilengkapi dengan perangkat jaringan) dan Software (Aplikasi yang digunakan untuk pengolahan pesan). Dan untuk sebuah sistem yang besar umumnya menggunakan Database untuk penyimpanan data.
[b]Daftar Pustaka:[B/]
- Le Bodic, Gwenae¨l. 2005. Mobile Messaging Technology and Services. West Sussex, England: John Wiley & Sons Ltd
- CME 20 SYSTEM SURVEY TRAINING DOCUMENT. 1996. Ericsson Radio Systems AB

Kedudukan SMS Gateway dalam Network GSM
Berikut ini adalah contoh kedudukan SMS Gateway di dalam jaringan milik operator beserta protokol komunikasi yang dipakai.

Dari gambar diatas terlihat bahwa SMS Gateway berfungsi sebagai penghubung yang melakukan relay sms antara ESME (External Short Message Entitiy) dan SMSC dan sebaliknya. Komunikasi antara ESME dan SMS Gateway dapat menggunakan protokol SMPP atau dengan HTTP, sementara ke SMSC menggunakan SMPP.

ESME adalah entitas luar yang dapat berupa server aplikasi penyedia layanan (Application Service Provider) yang dimiliki oleh Content Provider, aplikasi Perbankan, server polling, dan lain-lain yang dapat menerima pesan, memproses pesan dan mengirim respons atas pesan yang masuk , serta perangkat lain seperti email gateway, WAP proxy server , Voice mail server.

sumber : kaskus.us

Kamis, 15 April 2010

Oracle. 15 april 2010

Untuk membangun suatu gudang data (data warehouse, atau saya singkat DW), pilihan yang tepat untuk pengaturan konfigurasi parameter dalam DBMS-nya adalah OLAP (Online Analytical Processing). Berbeda dengan OLTP (Online Transaction Processing), OLAP lebih ditujukan untuk penanganan layanan yang sifatnya hanya membaca (read only). Sedangkan dalam OLTP, perubahan atau manipulasi data lebih sering terjadi. Ini perbedaan mendasar diantara OLAP dan OLTP. Mudah-mudahan di tulisan berikutnya saya bisa berbagi informasi detil tentang OLAP dan OLTP.

Untuk basis data yang dikhususkan sebagai DW, secara struktur basis data akan berbeda dengan basis data yang diakses oleh klien melalui suatu layanan atau aplikasi. Dalam DW, struktur basis datanya jauh lebih sederhana dibandingkan basis data yang akan menangani traksaksi DML (operasi data tambah, update, dan hapus). Dalam DW, Anda akan mengenal struktur basis data skema bintang (Star Schema) maupun Snowflake Schema. Jadi hampir tidak ada normalisasi basis data dalam DW. — Hmm.. bakalan jadi “peer” buat tema tulisan berikutnya nih :)

Dua paragraf sebelumnya hanya pengantar, untuk menjustifikasi kenapa saya tertarik berbagi tentang penggunaan Column-Oriented DBMS khususnya pada DW. Dikarenakan karakteristik DBMS dengan column-oriented lebih pas diterapkan dibandingkan dengan DBMS populer yang masih menganut row-oriented.

Deskripsi

Layanan atau aplikasi yang menggunakan basis data, senantiasa menyimpan datanya dalam bentuk tabel dimensi dua yang terdiri atas kolom dan baris. Namun proses penyimpanan datanya ke media penyimpan dalam bentuk string dimensi satu. Misalkan, suatu basis data yang memiliki tabel berikut:

NIM NAMA PROGRAM SPP
1001 Ali ILKOM 300000
1002 Maya BIOLOGI 450000
1003 Budi FISIKA 500000

Untuk basis data row-oriented, data dalam tabel tersebut akan disimpan secara serial dengan pembeda antar kolom (delimited string). Semua nilai dalam baris data pertama disusun serial dari kolom paling kiri ke kanan, dilanjutkan baris kedua, ketiga, dan seterusnya.

1001,Ali,ILKOM,300000;1002,Maya,BIOLOGI,450000;1003,Budi,FISIKA,500000;

Sedangkan untuk basis data column-oriented, data disimpan serial dari atas ke bawah menurut kolom dari baris pertama ke baris terakhir, dilanjutkan kolom kedua, ketiga, dan seterusnya.

1001,1002,1003;Ali,Maya,Budi;ILKOM,BILOGI,FISIKA;350000,450000,500000;

Dengan mekanisme penyimpanan data seperti ini, berdampak pada akses ke harddisk maupun memori akan lebih efisien pada saat beban data diberikan. Kalo dirunut, ada hubungannya dengan seek time pada komponen harddisk dalam suatu komputer. Secara manfaat, dapat dijelaskan sebagai berikut:

  1. Sistem column-oriented adalah lebih efisien jika suatu perhitungan perlu dilakukan terhadap banyak baris data namun hanya untuk sekumpulan kecil data dari seluruh kolom data. Karena pembacaan data pada sekelompok data yang lebih kecil akan jauh lebih cepat daripada membaca seluruh data.
  2. Sistem column-oriented adalah lebih efisien jika nilai yang baru dari suatu kolom disediakan untuk semua baris pada satu waktu, karena data kolom ditulis secara efisien dan menggantikan data kolom lama tanpa melibatkan kolom lainnya untuk semua baris.
  3. Sistem row-oriented akan lebih efisien jika beberapa kolom dalam sebuah baris data diminta pada waktu yang sama, dan jika ukuran baris datanya relatif kecil, dan semua baris dapat diakses dengan sebuah single disk seek.
  4. Sistem row-oriented akan lebih efisien saat menuliskan sebuah baris data baru. Jika semua data kolom disediakan pada saat yang sama, dan semua baris dapat diakses dengan sebuah single disk seek.

(sumber: Column-oriented DBMS – Wikipedia.org)

Dengan karakteristik ini, sistem column-oriented lebih sesuai dengan struktur basis data star schema dalam DW. Transaksi dalam DW lebih banyak berupa transaksi baca dan sangat sedikit transaksi tulis. Umumnya basis data OLAP berupa hasil statistik data, dengan sumber data yang diperoleh dengan mengintegrasikannya dengan basis data OLTP yang melayani banyak transaksi tulis dari aplikasi atau layanan yang terhubung.

Data warehouse, OLTP dan BI

Jika Anda berminat membangun suatu data warehouse untuk melayani kebutuhan statistik atau analisa data, maka pilihan jenis basis data yang cocok adalah basis data column-oriented. Bagaimana menurut Anda?


Oracle, 15 april 2010
Peristiwa ini terjadi saat saya hendak mengakses database ORACLE yang saya tempatkan di Qosmio dengan OS Windows XP. Pada hari-hari sebelumnya tidak ada masalah (menurut staf sih), tapi begitu saya coba akses lagi dua hari yang lalu muncul kesalahan dengan informasi sbb:
ORA-01033 oracle in initialization or shutdown in progress

Nah lho, koq? Saya coba lakukan restart service database ORACLE mulai listener ama instance-nya. Begitu coba diakses secara lokal dengan sqlplus, kesalahan yang sama masih muncul. Waduh ada apa lagi nih. Terpaksa diselesaikan sendiri, karena staf yang biasa nangani ternyata dah resign. Ada banyak referensi, namun bila yang kalian alami adalah kesalahan dengan kode ORA-16038,ORA-19809, ORA-00312 saat menjalankan perintah startup maka kasus kita sama dan saya temukan cara mengatasinya. Pastinya setelah bertanya sana sini ama om Google, saya menemukan situs ini:

Database Startup fails with error ORA-16038,ORA-19809, ORA-00312

Kalo saya sarikan dari situs diatas dan digabung ama referensi lainnya, bisa seperti ini:

Mulai dengan melakukan start database ORACLE secara manual. Kita gak perlu mematikannya lewat service yang ada di Windows. Semuanya bisa dilakukan lewat konsol command prompt dengan perintah sqlplus. Berikut langkah-langkahnya:

> sqlplus /nolog
SQL> connect / as sysdba
Connected
SQL> shutdown abort
Instance ORACLE stopped.
SQL> startup nomount
Instance ORACLE started.
SQL> alter database mount;
SQL> alter database open;

Ketika kita gunakan perintah alter database open, bila pada layar monitor muncul kesalahan kayak gini:

ORA-16038: log 3 sequence# 572 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: ‘/oradata2/data1/dbase/redo03.log’

Bisa juga muncul kesalahan dengan kode ORA-16014, ORA-00312.

Yang kita lakukan cukup berusaha menaikkan ukuran media recovery database karena pada umumnya kesalahan ini terjadi karena ukuran parameter archive log tidak cukup (alias wadahnya ndak moat). Saya cuma pake solusi pertama dari situs referensi diatas dimana kita butuh kapasitas HD yang cukup besar (di Qosmio saya set 10GB. Ini langkah-langkah yang saya lakukan:

SQL> show parameter background_dump_dest

SQL> archive log list

ini buat ngecek lokasi archive-nya

Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 572
Next log sequence to archive 572
Current log sequence 580

Maka lokasinya ada di DB_RECOVERY_FILE_DEST. Kalo mau tahu lokasi pastinya di komputer kita, gunakan aja perintah:

SQL> show parameter db_recover

NAME TYPE VALUE
——————————————————————
db_recovery_file_dest string /oradata2/flash_recovery_area
db_recovery_file_dest_size big integer 2G

Maka kita naikkan ukuran file recovery-nya jadi misal 10GB.

SQL> alter system set db_recovery_file_dest_size=20G;
System altered.
Dilanjutkan dengan mencoba membuka database-nya dengan perintah:
SQL> alter database open;
Database altered.
Nah, mustinya jika dah kayak gini database ORACLE kita dah normal. Kita coba cek pakai perintah sqlplus.
———————————————————–
C:\oracle\product\10.2.0\client_2\BIN>sqlplus xxxxx@orclb
SQL*Plus: Release 10.2.0.1.0 – Production on Thu Aug 28 21:11:42 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Enter password:

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production
With the Partitioning, OLAP and Data Mining options

SQL>

———————————————————–
Wow, masalah terpecahkan. Saya jadi bisa akses databasenya lagi.

Tips, 5 maret 2010
Koleksi bukumu sudah terlalu banyak? Disimpan dimana sekarang? Di dalam kotak kardus? Aduh, jangan deh. Hindari menyimpan buku-buku terlalu lama di dalam kotak kardus.

Banyak kotak kardus mengandung asam (acid). Asam dari kotak kardus itu bisa pindah ke buku. Akibatnya, buku kita bisa berubah warna jadi kekuning-kuningan. Sayang kan? Lebih baik, siapkan rak buku yang ukurannya cukup untuk menyimpan koleksi buku-buku kita.

Agar terbebas dari debu, kotoran, dan musuh-musuh buku lainnya, banyak yang menyarankan agar rak buku tertutup. Supaya tetap gampang dilihat, sebaiknya pintu penutupnya terbuat dari kaca. Cuma, buku-buku itu jangan sampai terkurung rapat tanpa sirkulasi udara. Buku-buku kita akan mudah lumutan jika disimpan tertutup tanpa sirkulasi udara.

Kalau rak buku itu terbuat dari kayu, pastikan bahwa rak itu cukup kokoh agar cukup tahan menanggung bobot buku-buku yang berat untuk jangka waktu yang lama. Dan pastikan juga bahwa kayunya diberi lapisan. Kayu yang tidak berlapis bisa mengeluarkan uap asam yang membahayakan.

Kita bisa memilih desain rak buku model apapun. Tapi perhatikan satu hal: level paling bawah rak buku juga harus berjarak beberapa senti meter di atas lantai agar terhindar dari genangan air kalau terjadi banjir kecil.

Rak buku sebaiknya tidak langsung menempel ke dinding yang bersebelahan dengan bagian luar rumah. Kasih jarak beberapa senti meter antara rak dengan dinding agar tidak terganggu oleh suhu dan kelembaban ruangan luar yang bisa berubah-ubah dengan cepat.

Letakkan rak buku di tempat yang terhindar dari sorotan langsung sinar matahari, atau cahaya lampu lainnya. Terutama cahaya yang mengandung ultra violet (UV). Buku akan cepat rusak kalau terlalu sering terkena UV: warna buku bisa jadi pudar. Buku lebih menyukai cahaya yang redup, dan bahkan gelap.

Ruang tempat menyimpan buku juga sebaiknya tidak terlalu lembab dan tidak terlalu panas. Suhu dan kelembaban yang terlalu tinggi bisa memunculkan reaksi asam yang akan membuat kertas menjadi busuk. Kelembaban di bawah 40% bisa membuat kertas menjadi kering dan rapuh. Sedangkan kelembaban di atas 60% bisa membuat kertas menjadi lembek dan menimbulkan pembusukan asam.

Suhu sekitar 68 derajat F dan kelembaban sekitar 50% sering dianggap lingkungan yang ideal buat buku. Yang tak kalah penting, hindari suhu dan kelembaban yang naik turun cukup tinggi (fluktuatif), yang juga bisa menjadi penyebab kerusakan buku. Itu sebabnya, seringkali disarankan agar buku disimpan dalam ruangan ber-AC agar bisa mengendalikan suhu dan kelembabannya.

Rawatlah ruang tempat penyimpanan buku dengan baik. Sebaiknya jauhkan buku dari makanan. Pertimbangkanlah juga untuk menjauhkan tanaman dari rak buku. Ingat, buku mengandung zat organik yang menarik serangga dan binatang pengerat. Akan repot urusannya kalau -selain mampir ke makanan atau tanaman- serangga-serangga itu juga ikut menyantap kerta-kertas buku kita.

Letakan buku di rak dalam posisi berdiri. Buku memang dirancang untuk diletakan
dalam posisi berdiri. Jangan pernah meletakan buku dengan posisi punggungnya menghadap atas. Dengan posisi begitu, tekanan gravitasi akan membuat kerapatan jilid buku menjadi kendor; ujung-ujungnya, kertas-kertas buku bisa lepas dari jilidnya.

Salah satu kebiasaan buruk yang sering kita lakukan adalah menumpuk buku di atas buku-buku lain. Kelihatannya praktis dan baik-baik saja. Tapi, sebetulnya, kebiasaan itu bisa merusak buku kita. Beban buku yang berada di atas akan menekan buku di bawahnya sehingga jilid buku mudah lepas.

Selain ditata berdasarkan topiknya, koleksi buku kita juga sebaiknya ditata berdasarkan ukurannya. Kelompokan buku-buku kita berdasarkan tingginya. Jika ada buku pendek diapit oleh buku yang lebih tinggi, maka buku-buku yang lebih tinggi itu akan cepat rusak. Terlebih kalau deretan buku itu cukup padat dan ketat, buku yang lebih tinggi akan bengkok-bengkok punggungnya.

Kalau jumlah koleksi buku kita belum bisa memadati rak buku, gunakan pengapit buku (bookend). Buku yang dijejer terlalu longgar di rak buku, akan mudah roboh dan rusak. Pilihlah bookend yang tipis supaya bisa menyelip dengan mudah di bawah buku.

Sering-seringlah membersihkan buku dan rak buku. Kemoceng dan penyedot debu bisa dipakai. Pakailah kain yang bersih, kering dan halus ketika buku dibersihkan. Hati-hati, cermati konstruksi buku kita. Jangan sampai niat kita untuk membersih buku malah membuatnya menjadi rusak.

Koleksi buku kita adalah harta karun kita. Jadi, memang, harus dirawat supaya tahan lama.

Sumber: KutuBuku.com

Senin, 29 Maret 2010

Bahasa rakitan, 26 maret 2010

Bahasa Rakitan/Assembler

  • Komputer “bicara/berkomunikasi” dgn menggunakan suatu bahasa
  • Bahasa-bahasa pemrograman menyediakan tools u/ mengekspresikan pemrosesan data secara simbolik
  • Setiap bahasa memiliki sintaks dan grammar yang dirumuskan dgn baik
  • Bahasa Assembler/Rakitan adalah bahasa komputer yang mempunyai kedudukan diantara bahasa tingkat tinggi dan bahasa tingkat rendah dan bertugas mengkonversi program source kode ke bahasa mesin.
o Bahasa rakitan merupakan representasi teks dari bahasa mesin
o Satu statement bahasa rakitan merepresentasikan satu instruksi mesin
o Bahasa rakitan merupakan abstarksi antara program tingkat tinggi dan kode mesin
  • Bahasa Tingkat Tinggi/High Level Language adalah bahasa komputer yang menggunakan kata-kata dan pernyataan yang mudah dimengerti oleh manusia, walaupun jauh berbeda dengan bahasa yang digunakan untuk komunikasi sehari-hari. Contoh Java, C++, Pascal, Basic dll
  • Bahasa Tingkat Rendah/Low Level Language/Bahasa Mesin adalah kumpulan kode biner yang hanya bisa di mengerti oleh komputer, kode-kode ini kemudian diterjemahkan sebagai instruksi-instruksi yang harus dijalankan oleh komputer.
  • Bahasa mesin merupakan bahasa ibu/alamiah dari komputer
  • Bahasa mesin merupakan representasi bit dari operasi mesin dieksekusi oleh hardware
  • Hirarki bahasa pemrograman:


Mengapa belajar Bahasa Rakitan?
  • Mengetahui lebih dalam tentang arsitektur komputer dan sistem operasi
  • Mengetahui lebih lanjut tentang komputer dan bagaimana bahasa komputer membangkitkan kode mesin, karena bhs rakitan mempunyai hubungan yang dekat dgn bhs mesin
  • Mempelajari utilitasnya.
Tipe pemrogramman tertentu sulit atau tidak mungkin dilakukan dgn bhs tingkat tinggi. Contoh:
  1. Komunikasi langsung dgn SO komputer
  2. Program color high-speed graphics dgn memori rendah
  3. Program interfacing
  4. Program telekomunikasi
  • Sebagai Solusi akibat batasan-batasan pada bhs tingkat tinggi.
  • Sebagai alat belajar (learning tool) .. terutama menyakut kerja OS

Aplikasi Bahasa Rakitan
  • Digunakan sebagai program subroutine khususnya untuk aplikasi spesifik
  • Program subroutine ini dapat di panggil oleh bahasa tingkat tinggi. Kombinasi ini akan menambah kekuatan bahasa tingkat tinggi
  • Misalnya bahasa pemrograman Borland Delphi ditambah subroutine bahasa assembler yang digunakan untuk mengoperasikan perangkat keras dengan interface program delphi.

Struktur Bahasa Rakitan
  • Struktur dasar bahasa rakitan memiliki 3 komponen dalam mesin Intel dan 4 komponen dalam mesin MIPS:
1. Label/ Nama proses atau operasi
  • Bagian label berfungsi mewakili nomor memori program
  • Apabila ada perintah JUMP(lompat)ke suatu label maka Assembler akan mengingat nomor memori program yang dimaksud dan menjalankan instruksi-instruksi yang terdapat didalam label tersebut
  • Cara penulisan Label, bebas tetapi tidak boleh ada spasi, tidak boleh ada nama label yang sama dan diakhiri tanda titik dua( : )
2. Mnemonic
  • Mnemonik merupakan kode alphabet pendek atau singkatan perintah yang mudah diingat
  • Bagian ini bertugas menginstruksikan suatu program untuk bekerja sesuai perintah
  • Mnemonik terdiri dari dua macam yaitu
  1. Instruksi => instruksi pengendali prosessor misalnya MOV, ADD, JMP
  2. Directive => Pengatur kerja program Assembler misal DB, DW,DD
# Penulisan harus huruf kapital semua atau huruf kecil semua
3. Operand 1
  • Operand merupakan objek dari sebuah instruksi yang harus dieksekusi oleh program assembler sesuai perintah pada bagian Mnemonic
  • Bagian ini bisa berupa register, variabel memory, label atau Immediate value
• Contoh
o AX (register)
o count (variabel memory)
o JMP Mulai (label:lompat ke label Mulai)
o 10 (immediete value)
# Penulisan harus huruf kapital semua atau huruf kecil semua
4. Operand 2 (mesin MIPS)
  • Komentar
  1. Bagian Komentar tidak berpengaruh dengan jalannya program, tetapi sangat pentung untuk mempermudah seseorang mengerti maksud dari program yang di buat
  2. Cara penulisan bebas dan harus didahului tanda titk koma (;) pada mesin intel dan # pada mesin MIPS
  • Hal-Hal yang perlu di perhatikan dalam menulis instruksi bahsa Assembeler:
    • Setiap Bagian-bagian dalam struktur seperti label, komentar tidak harus selalu ada minimal ada bagian mnemonic contohnya instruksi RET
    • Setiap bagian dalm program assembler dipisahkan oleh spasi atau tab, namun untuk bagian menemonik dan operand yang lebih dari satu harus diipisah dengan tanda koma (tanpa spasi)
    • Bagian label ditulis mulai huruf pertama dari baris, jika baris program tidak memili label maka perlu di beri spasi atau tab untuk memisahkan bagian label dengan bagian lainnya
- Contoh
Proses: MOV AX,BX ; Salin register BX ke dlm register AX (intel)


Cara mengkompile program assembler

  • Untuk mengkompile program assembler diperlukan kompiler program asembler, salah satunya Turbo Asembler dengan menjalankan program TASM.EXE dan TLINK.EXE
  • Source kode program disimpan dengan ekstensi .ASM
  • Program dapat ditulis dengan notepad (windows) atau edit(dos)
  • TASM.EXE digunakan mengkompile source code menjadi file object berekstensi .OBJ
  • TLINK.EXE digunakan mengkompile file object menjadi file executable .EXE

  • Komputer “bicara/berkomunikasi” dgn menggunakan suatu bahasa
  • Bahasa-bahasa pemrograman menyediakan tools u/ mengekspresikan pemrosesan data secara simbolik
  • Setiap bahasa memiliki sintaks dan grammar yang dirumuskan dgn baik
  • Bahasa Assembler/Rakitan adalah bahasa komputer yang mempunyai kedudukan diantara bahasa tingkat tinggi dan bahasa tingkat rendah dan bertugas mengkonversi program source kode ke bahasa mesin.
o Bahasa rakitan merupakan representasi teks dari bahasa mesin
o Satu statement bahasa rakitan merepresentasikan satu instruksi mesin
o Bahasa rakitan merupakan abstarksi antara program tingkat tinggi dan kode mesin
  • Bahasa Tingkat Tinggi/High Level Language adalah bahasa komputer yang menggunakan kata-kata dan pernyataan yang mudah dimengerti oleh manusia, walaupun jauh berbeda dengan bahasa yang digunakan untuk komunikasi sehari-hari. Contoh Java, C++, Pascal, Basic dll
  • Bahasa Tingkat Rendah/Low Level Language/Bahasa Mesin adalah kumpulan kode biner yang hanya bisa di mengerti oleh komputer, kode-kode ini kemudian diterjemahkan sebagai instruksi-instruksi yang harus dijalankan oleh komputer.
  • Bahasa mesin merupakan bahasa ibu/alamiah dari komputer
  • Bahasa mesin merupakan representasi bit dari operasi mesin dieksekusi oleh hardware
  • Hirarki bahasa pemrograman:


Mengapa belajar Bahasa Rakitan?
  • Mengetahui lebih dalam tentang arsitektur komputer dan sistem operasi
  • Mengetahui lebih lanjut tentang komputer dan bagaimana bahasa komputer membangkitkan kode mesin, karena bhs rakitan mempunyai hubungan yang dekat dgn bhs mesin
  • Mempelajari utilitasnya.
Tipe pemrogramman tertentu sulit atau tidak mungkin dilakukan dgn bhs tingkat tinggi. Contoh:
  1. Komunikasi langsung dgn SO komputer
  2. Program color high-speed graphics dgn memori rendah
  3. Program interfacing
  4. Program telekomunikasi
  • Sebagai Solusi akibat batasan-batasan pada bhs tingkat tinggi.
  • Sebagai alat belajar (learning tool) .. terutama menyakut kerja OS

Aplikasi Bahasa Rakitan
  • Digunakan sebagai program subroutine khususnya untuk aplikasi spesifik
  • Program subroutine ini dapat di panggil oleh bahasa tingkat tinggi. Kombinasi ini akan menambah kekuatan bahasa tingkat tinggi
  • Misalnya bahasa pemrograman Borland Delphi ditambah subroutine bahasa assembler yang digunakan untuk mengoperasikan perangkat keras dengan interface program delphi.

Struktur Bahasa Rakitan
  • Struktur dasar bahasa rakitan memiliki 3 komponen dalam mesin Intel dan 4 komponen dalam mesin MIPS:
1. Label/ Nama proses atau operasi
  • Bagian label berfungsi mewakili nomor memori program
  • Apabila ada perintah JUMP(lompat)ke suatu label maka Assembler akan mengingat nomor memori program yang dimaksud dan menjalankan instruksi-instruksi yang terdapat didalam label tersebut
  • Cara penulisan Label, bebas tetapi tidak boleh ada spasi, tidak boleh ada nama label yang sama dan diakhiri tanda titik dua( : )
2. Mnemonic
  • Mnemonik merupakan kode alphabet pendek atau singkatan perintah yang mudah diingat
  • Bagian ini bertugas menginstruksikan suatu program untuk bekerja sesuai perintah
  • Mnemonik terdiri dari dua macam yaitu
  1. Instruksi => instruksi pengendali prosessor misalnya MOV, ADD, JMP
  2. Directive => Pengatur kerja program Assembler misal DB, DW,DD
# Penulisan harus huruf kapital semua atau huruf kecil semua
3. Operand 1
  • Operand merupakan objek dari sebuah instruksi yang harus dieksekusi oleh program assembler sesuai perintah pada bagian Mnemonic
  • Bagian ini bisa berupa register, variabel memory, label atau Immediate value
• Contoh
o AX (register)
o count (variabel memory)
o JMP Mulai (label:lompat ke label Mulai)
o 10 (immediete value)
# Penulisan harus huruf kapital semua atau huruf kecil semua
4. Operand 2 (mesin MIPS)
  • Komentar
  1. Bagian Komentar tidak berpengaruh dengan jalannya program, tetapi sangat pentung untuk mempermudah seseorang mengerti maksud dari program yang di buat
  2. Cara penulisan bebas dan harus didahului tanda titk koma (;) pada mesin intel dan # pada mesin MIPS
  • Hal-Hal yang perlu di perhatikan dalam menulis instruksi bahsa Assembeler:
    • Setiap Bagian-bagian dalam struktur seperti label, komentar tidak harus selalu ada minimal ada bagian mnemonic contohnya instruksi RET
    • Setiap bagian dalm program assembler dipisahkan oleh spasi atau tab, namun untuk bagian menemonik dan operand yang lebih dari satu harus diipisah dengan tanda koma (tanpa spasi)
    • Bagian label ditulis mulai huruf pertama dari baris, jika baris program tidak memili label maka perlu di beri spasi atau tab untuk memisahkan bagian label dengan bagian lainnya
- Contoh
Proses: MOV AX,BX ; Salin register BX ke dlm register AX (intel)



sumber gambar : http://www.linuxsoft.cz
Bahasa rakitan, 25 maret 2010
  • Untuk mempelajari bahasa rakitan, perlu sekali mengetahui sistem bilangan karena di dalam mikrokomputer semua input, output dan isi memori di lakukan melalui sandi.
  • Sandi-sandi tersebut diubah ke sandi bilangan misalnya biner, oktal, desimal atau heksadesimal
  • Pemahaman terhadap jenis-jenis bilangan ini adalah penting, karena akan sangat membantu kita dalam pemrograman yang sesungguhnya.
  • Sistem bilangan umum dipakai pada komputer antara lain:
o Sistem Bilangan Desimal
o Sistem Bilangan Biner
o Sistem Bilangan Oktal
o Sistem Bilangan Hexadesimal
  • Selain sistem bilangan tersebut diatas, masih banyak sistem bilangan yang diciptakan dan tentunya mempunyai radik(dasar) yang berbeda-beda pula, seperti pada tabel berikut


Sistem Bilangan

radix

Digit mutlak

binary
ternary
quarternary
quinary
senary
septenary
octenary (octal)
nonary
denary (decimal)
undenary
duodenary
tredenary
quatuordenery
quidenery
hexadenery(hexadecimal)

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

01
012
0123
01234
012345
0123456
01234567
012345678
0123456789
0123456789A
0123456789AB
0123456789ABC
0123456789ABCD
0123456789ABCDE
0123456789ABCDEF


Sistem Bilangan Desimal
  • Sistem bilangan desimal adalah bilangan yang terdiri dari 10 buah angka (berbasis 10) yaitu angka 0-9
  • Dengan basis sepulah ini maka suatu angka dapat dijabarkan dengan perpangkatan sepuluh
  • Sandi bilangan desimal biasanya menggunakan huruf D atau tidak dituliskan sama sekali. Contoh 567D atau 567 artinya bilangan desimal 567
Contoh
Bilangan 567 dengan bilangan dasar 10, maka penjabarannya sebagai berikut :
(5 *102)+(6 * 101)+(7 * 100) = 567

Sistem Bilangan Binar
  • Semua bilangan, baik data maupun program akan diterjemahkan oleh komputer menjadi bentuk biner. Jadi pendefinisian data dengna jenis apapun seperti desimal, oktal, maupun heksadesimal akan selalu diterjemahkan dalam bentuk biner
  • Bilangan biner adalah bilangan yang hanya terdiri atas 2 kemungkinan(berbasis 2) yaitu 0 dan 1.
  • Karena berbasis 2 maka pengkonversian kedala betuk desimal adalah denagn mengkalikan suku ke – N dengan 2N
  • Misalnya pada angka 01112 dijabarkan sebagai berikut:
    • (0 * 23)+(1 * 22)+ (1 * 21) +(1 * 20) = 710
Sistem Bilangan Oktal
  • Bilangan oktal adalah bilangan basis 8, artinya angka yang dipakai hanyalah antar 0-7.
  • Sama seperti bilangan lain, bilangan oktal dapat dikonversi ke bentuk desimal dengan mengalikan suku ke - N dengan 8N
Misalnya angka 128 di (1 * 81) + (2 * 80) = 10
Sistem Bilangan Heksadesimal
  • Bilangan Heksadesimal merupakan bilanagn yang berbasis 16
  • Angka yang digunakan 0 1 2 3 4 5 6 7 8 9 A B C D E F
  • Bilangan heksa desimal dapat dikonversi ke dalam bentuk desimal dengan mengalikan suku ke – N dengan 16N
  • Contoh bilangan
    • 27616 = (2 * 162)+(7*161)+(6*160)=63010

Perubahan dari Basis 10 ke basis N

Perubahan dari basis 10 ke basis N dilakukan dengan operasi division (pembagian bulat) dan modulus (sisa pembagian bulat) N.
Exp:
971 akan diubah menjadi basis 8
971 div 8 = 121, modulus (sisa) = 3
121 div 8 = 15, modulus = 1
15 div 8 = 1, modulus = 7
=> 971 = 17138
29 akan diubah menjadi basis 2
29 div 2 = 14, modulus = 1
14 div 2 = 7, modulus = 0
7 div 2 = 3, modulus = 1
3 div 2 = 1, modulus = 1
=>27 = 111012
500 akan diubah menjadi heksa
500 div 16 = 31, sisa 4
31 div 16 = 1, sisa F
500 = 1F4

Bilangan Pecahan Desimal ke basis N

- Konversi pecahan desimal ke biner
Contoh :
0,125 menjadi biner
0,125 x 2 = 0,250
0,250 x 2 = 0,5
0,5 x 2 = 1,00
= 0,125 =0,001
Ket: hasil dibaca dari langkah satu ke langkah berikutnya

- Konversi pecahan desimal ke oktal
Contoh :
0,375 menjadi oktal
0,375 x 8 = 3,000
=>0,375 = 0,3

- Konversi pecahan desimal ke heksadesimal
Contoh :
0,375 menjadi oktal
0,375 x 16 = 6,000
=>0,375 = 6,00

Pecahan basis N ke desimal
- Konversi pecahan ke desimal
Contoh :
101.011 menjadi desimal
(1 * 22 + 0 * 21 + 1 * 20 + 0 * 2-1 + 1 * 2-2 + 1 * 2-3 ) =
2 + 0 + 1 + 0 + 0,25 + 0,123 = 3,375
ket : basis yang lain caranya sama

Aritmatika Biner
- Penjumlahan biner
Contoh :
1010 + 1111 =

1010
1111+
11001

- Pengurangan biner
Contoh :
1101 -1001 =

1101
1001-
100

- Perkalian biner
Contoh :
10 x 11 =

10
11 x
10
10__+
110

sumber gambar : http://agungnuza.files.wordpress.com
Bahasa rakitan, 25 maret 2010
  1. Register adalah sebagaian memory dari prosessor yang dapat di akses dengan kecepatan sangat tinggi dan selalu digunakan oleh microprosessor sebagai perantara dalam menjalankan pekerjaannya
  2. Register yang digunakan microprosessor di bagi menjadi beberapa bagain antara lain:
    1. General Purpose Register
    2. Pointer dan Index Register
    3. Segmen Register
    4. Flag Register
  3. General Purpose Register merupakan register 16 bit yang terdiri dari AX, BX, CX dan DX. Sebagai pilihan lain dapat digunakan AH, BH, CH dan DH (bagian tertinggi) yang masing-masing 8 bit dan juga bisa digunakan AL, BL, CL, dan DL (bagian terendah) yang masing-masing 8 bit.

Nama Register
(16 bit)

Nama Register
(8 bit)

Fungsi dan Sifat Khusus

AX

AH

AL

Akumulator utama, semua operasi Input-Output dilakukan disini dan dilakukan pula untuk menyimpan operasi dari ALU(Aritmatic Logic Unit) serta hasil perhitungan sementara dari operasi tersebut
Digunakan pula untuk menyimpan data yang akan dikirim ke port atau yang datang dari port untuk diproses lebih lanjut

BX

BH

BL

Base Register, untuk perhitungan memory berbagai adderssing mode, menggunakan DS(data segment) sebagai default segment.
Digunakan pula untuk menyimpan alamat(offset) dari data yang di simpan di memori atau menyimpan alamat tidak langsung (indirect Address)

CX

CH

CL

Count Register, untuk instruksi yang memerlukan hitungan seperti perulanagn(LOOP), operasi string (misalnya menghitung banyaknya karaker), rotate (ROL, ROR) maupun geser atau shift (SHL,SHR)

DX

DH

DL

Digunakan untuk menyimpan nilai overflow dari suatu operasi aritmatik dan alamat Input-output sehingga sering digunakan untuk mengakses Input-Output Bus melalui instruksi IN atau OUT.
Digunakan pula untuk menampung hasil pembagian 16 bit

  1. Pointer dan Index Register merupakan register yang digunakan sebagai penunjuk(pointer) terhadap suatu lokasi di memory. Register-register ini berukuran 16 bit

Nama Register

Kepanjangan

Fungsi dan Sifat Khusus

SP

Stack Pointer

Berpasangan dengan SS(Stack Segment) -> SS:SP digunakan untuk menunjukkan alamat dari stack, untuk mendapatkan Physical Address (PA=SS * 10H +SP)

BP

Base Pointer

Berpasangan dengan SS(Stack Segment) =>SS:BP digunakan untuk mencatat suatu alamat di memory tempat data.
Digunakan pula untuk mengakses data di SS

SI
DI

Source Index
Destination Index

Digunakan pada operasi string dengan mengakses secara langsung pada alamat di memory yang ditunjukkan oleh kedua memory ini

IP

Instruction Pointer

Berpasangan dengan CS (Code Segment) => CS:IP akan menunjukkan alamat di memory tempat dari perintah selanjutnya yang akan di eksekusi dan untuk mendapatkan offset atau alamat efektif dari instruksi (PA=CS*10H+IP)

  1. Segment Registers merupakan registers 16 bit yang berguna mencatat alamat sebagai penunjuk lokasi data di memory. Registers ini terdiri dari 20 jalur alamat external tetapi memiliki 16 bit alamat internal.

Nama Register

Kepanjangan

Fungsi dan Sifat Khusus

SS

Stack Segment

Menunjukkan letak dari segment yang digunakan oleh stack

CS

Code Segment

Menunjukkan tempat atau segment yang sedang aktif

DS

Data Segment

Menunjukkan alamat atau segment dimana data-data program disimpan

ES

Extra Segment

Register tambahan yang berguna untuk menunjukkan suatu alamat di memory, misalnya alamat memory video

  1. Flag Registers merupakan register berukuran 1 bit yang menunjukkan kondisi dari suatu keadaan (ya/tidak atau 0/1)

Tabel Flag Register pada keluarga mikroprossesor 80286 dan 80386

Flag

Nama

Fungsi dan Sifat Khusus

A

Auxilary

Digunakan untuk menyesuaikan nialai AL pada penjumlahan atau pengurangan suatu Bunary Coded Desimal apakah terjadi carry atau borrow

C

Carry

Bernilai 1 bila terjadi carry pada operasi penjumlahan atau terjadi borrow pada operasi pengurangan

D

Direction

Digunakan pada operasi string untuk menunjukkan arah proses

I

Interrupt

Bila bit bernilai 0 maka CPU akan mengabaikan interrupt yang terjadi

O

Overflow

Bernilai 1 bila terjadi overflow pada operasi aritmatika

P

Parity

Bernilai 1 Jika bilangan yang dihasilkan dalam biner jumlah angka 1 genap

S

Sign

Bernilai 1 bila muncul bilangan yang bertanda negatif pada operasi aritmatika

T

Trap

Digunakan terutama untuk Debugging atau mencari bug atau error pada program langkah demi langkah, bila bernilai 1, maka mikroprosessor akan menghentikan alur program

Z

Zero

Bernilai 1 bila menghasilkan nol

Bahasa rakitan, 24 maret 2010
  • Hal yang tidak dapat dipindahkan dari komputer adalah memory karena setiap komputer memerlukan memory sebagai tempat kerjanya
  • Fungsi memory adalah unuk memuat program dan juga menampung hasil proses
  • Memory terdiri dari
    1. RAM (Random Access Memory) => data-data dapat ditulis maupun di baca pada lokasi manasaja di memory
    2. ROM (Raed Only Memory) => hanya dapat dibaca dan tidak dapat ditulisi biasanya ditujukan untuk mengatur aktivitas komputer pada saat pertama kali dihidupkan(ROM-BIOS). Pengisian ROM dikerjakan oleh Pabrik (AMI BIOS, AWARD dll)
  • Hal yang perlu diperhatikan dalam membuat program dengan bahasa Assembler berkenaan dengan memory adalah Segmentasi memory yaitu pembagian alamat sebagai lokasi suatu data atau instruksi.
  • Ada dua macam alamat memory
    1. Alamat Fisik(Physical Address) => alamat yang ada pada jalur 20 bit. Nilainya antara 00000H – FFFFFH
    2. Alamat Logik(Logical Address) => alamat yang di pakai oleh program yang terdiri dari SEGMENT dan OFFSET. Nilai dasar segment diambil dari salah satu segment register(CS,SS,DS,ES) dan offset nilainya ada pada index register atau pointer register atau juga bisa didapat dari berbagai addressing mode
  • Main Memory/Memory utama terdiri dari sejumlah sel yang masing masing dapat menyimpan informasi sebesar 1 byte(8bit)
  • Masing-masing sel memory diberi satu alamat (address)dimulai dari 0 sampai dengan jumlah memory dikurangi 1
  • Dengan adanya address ini, maka lokasi dari memori dapat dihubungi.
  • Pada mikroprosessor intel 8086/8088 digunakan memory sebesar 1 Mb=1048576 byte, oleh karena itu alamatnya antara 00000 – FFFFF (20 bit)
  • Kemampuan prosessor 8088 memiliki register yang ukurannya 16 bit, berabti masih kekurangan 4 bit lagi untuk menampung satu alamat memory.
  • Untuk menampung kekurangan sebesar 4 bit maka harus dilakukan penomoran dengan 2 register.
    1. Sebuah register berisi 16 bit yang terletak disebelah kiri dan dinamakan register segment
    2. Sebuah register lain berisi 16 bit yang terletak disebelah kanan dan dinamakan register offset
  • Antara segment dan offset ditulis dan dipisahkan oleh tanda titik dua ( : ) seperti berikut
  • SEGMENT : OFFSET
    2845 : FB00

Pengalamatan Memory

  • Cara pengalamatan memory yang dilakukan oleh komputer sering disebut dengan pengalamatan relatif(relatif address), sedangkan yang kita perlukan adalah kemampuan 20 bit sehingga pengalamatan yang dilakukan adalah pengalamatan mutlah atau absolut
  • Memory pada 8088 adalah 1 MB, Perlu diingat bahwa 1 Kb = 1024 byte, 1 Mb = 1024 KB = 1048576 byte (20 bit). Dengan demikian alamat memory dari 0 – 1 MB otomatis memerlukan 5 digit angka desimal 00000 – FFFFF
  • Padahal register pada prosessor 8086/8088 hanya berukuran 16 bit, berarti hanya dapat menampung 4 digit hexadesimal yaitu 0000-FFFF
  • Oleh karena itu, dengan kondisi tersebut perlu aturan penulisan sebagai berikut
  • Pada Segmen register => nilai digit terendah adalah 161 dan digit tertinggi 164 (hal ini mengakibatkan segment register digeser kekiri 1 digit)
  • Pada Offset =>register terendah 160 dan tertinggi 163
  • Tabel Alamat Fisik dan Logic

Alamat Fisik
(dalam Hexadesimal)

Alamat Logik
(dalam Segment:Offset)

Alamat Fisik
(dalam desimal)

00000
00001
00002
00003
00004
...
...
...
7FFFF
...
...
FFFFD
FFFFE
FFFFF

0000:0000
0000:0001
0000:0002
0000:0003
0000:0004
....
....
....
7000:FFFF
....
....
F000:FFFD
F000:FFFE
F000:FFFF

0
1
2
3
4
....
....
....
524288
.....
.....
1048573
1048574
1048575

  • Contoh:
  • Alamat dimemory adalah 2845:FB00, berapakah alamat fisik/absolutnya?
  • Segment => 2845H
    Offset => FB00H
    Cara:
    28450
    FB00 +
    37F50 => Alamat Fisik
  • Catatan:
  • Segment 0 => 0000:0000 s/d 0000:FFFF
  • Segment 1 => 1000:0000 s/d 1000:FFFF

..............

  • Segment F =>F000:0000 s/d F000:FFFF

Organisasi Memory IBM PC

  • Seperti yang telah disebutkan di atas bahwa prosesor 8088 secara langsung dapat berhubungan dengan lokasi memory sebanyak 1 Mb, yang di mulai 00000H sampai dengan FFFFFH dan keseluruhan lokasi memory tersebut terdapat pada dua jenis memory yaitu RAM dan ROM.
  • Seperempat memory paling di atas, terdiri dari segment paragraf 0000H sampai FFFFH disediakan untuk ROM dan ROM BIOS menempati 8 KB lokasi memory yang diawali dari paragraf FE00H.
  • ROM BASIC menempati 32 KB sebelumnya, yang dimulai dari segment paragraf F600H dan berakhir pada awal lokasi ROM BIOS. Sisa lokasi ROM yang ada dapat digunakan untuk ROM tambahan dan diletakkan diatas paragraf 0000H.
  • Di bawah area ROM terdapat area sebesar 64 Kb yang secara khusus di sediakan untuk menunjang keperluan layar tampilan. Area memory tersebut di bagi menjadi 2 bagian yaitu bagian pertama pada paragraf B000H digunakan untuk monochrom display yang kedua diguanakan unuk color graphics display pada paragraf B800H. Monochrome display hanyan menempati 4 Kb, sedangkan color grafics display menggunakan 16 Kb. Lokasi yang tersisa tidak digunakan atau digunakan untuk pengembangan berikutnya.
  • Untuk display adapter, sebenarnya tidak hanya 64 Kb saja yang disediakan melainkan 64 Kb di bawahnya juga dapat digunakan sesuai dengan dokumentasi IBM ( A000H – B000H ). Lokasi memory 64 Kb tersebut dibagi menjadi 2 bagian yaitu 16 Kb pertama (paragraf A000–A400H ) digunakan secara tidak menentu (tidak ada indikasi maksud kegunaannya ) sedangkan 48 Kb sisanya ( dari paragraf A400H sampai dengan B000H ) merupakan bagian dari seluruh 112 Kb memory yang disediakan untuk high resolution display baru, yang membutuhkan memory yang lebih besar dari pada memory monochrome display dan color grafics display. Jadi alokasi memory seluruhnya yang disediakan untuk tampilan dimulai dari segment paragraf A400H sampai dengan 0000H.
  • Lokasi memory yang terletak dibawah paragraf A000H dapat digunakan seperti penggunaan memory biasa. Memory yang sebesar 16 Kb pertama diatas 1000H terletak pada board sistem dan memory tambahan diletakkan pada expansion board.
  • IBM-PC sebenarnya hanya ditunjang dengan memory sebesar 256 K dan memungkinkan untuk dikembangkan lebih besar dari 256 Kb yang akan di cek oleh program poweron self test dari ROM BIOS. Semua RAM yang dipasang pada komputer ini diletakkan pada lokasi terendah ari memory yang ada.
  • Peta Memory IBM PC

Alamat fisik (heks)

Keterangan

00000 - 0007F
00000 – 003FF
00400 – 004FF
00500 – 005FF
00600 – 9CFFF
A0000 – A3FFF

BIOS Interupt Vektor
DOS Interupt Vektor
BIOS Data Area
DOS dan Basic data area
RAM Working Space
Cadangan

A4000 – AFFFF
B0000 – B1000
B1001 – B7FFF
B8000 – BBFFF
BC000 - BFFFF

Monochrome Adapter
Video Buffer
Color/Grafics Adapter

C0000 – C7FFF
C8000 – F3FFF
CC000 – F3FFF
F4000 – F5FFF
F6000 – FDFFF
FE000 - FFFFF

Ekpansi Memory
Harddisk
Cadangan
User ROM (8K)
ROM BASIC (32K)
ROM BIOS (8K)


sumber gambar :The Computer language. co.inc


Bahasa rakitan, 23 maret 2010
  • Interrupt adalah suatu permintaan khusus untuk melakukan suatu dan harus segera dipenuhi oleh mikroprosesor, apapun yang sedang dikerjakannya harus dihentikan dahulu untuk memenuhi interrupt ini.
  • Pada IBM PC dan kompetibelnya disediakan 256 buah interupsi yang diberi nomor 0 sampai 255.
  • Interrupt yang berjumlah 256 ini dibagi kedalam 2 macam yaitu:
    • Interupt 00H – 1FH (0 -31) adalah interrupt BIOS, interrupt ini standart disemua computer apapun system operasinya, baik dos atau bukan. Lokasi Interrupt Vektor Tablenya pada alamat absolute/mutalak 000H – 007FH
    • Interupt 20H – FFH (32 -255) adalah interrupt dos. Interrupt ini hanya pada computer yang menggunakan system operasi dos dan interrupt handlernya di load ke memori oleh DOS pada saat DOS digunakan. Lokasi Interrupt Vector Tablenya ada di alamat absolute 07FH – 3FFH
  • Setiap Interrupt akan mengeksekusi interrupt handlernya(program yang melayani suatu interupsi) masing-masing berdasarnkan nomornya.
  • Penulisan interrupt sebagai berikut :

INT ‘NomorInterrupt’

  • Tabel BIOS INTERRUPT

Nomor

Nama

Nomor

Nama

*00H

Divide By Zero
(Pembagian dengan Nol)

10H

Video Service

*01H

Single Step (Langkah Tunggal)

11H

Equipment Check
(Pemeriksaan Perlengkapan)

*02H

Non Maskable interrupt
(NMI) (Interrupt yang Tidak Dapat Dicegah)

12H

Memory Size (Ukuran Memory)

*03H

Break Poin

13H

Disk Servis

04H

Arithmetic Overflow
(Overflow pada operasi Aritmetik)

14H

Communication Rs-232
(Komunikasi dengan RS-232)

05H

Print Screen (cetak Layar)

15H

Casette Service

06H

Reserved (Cadangan)

16H

Keyboard Service

07H

Reserved (Cadangan)

17H

Printeer Service

08H

Clock Tick/Timer
(Petunjuk Waktu)

18H

ROM Basic (Dasar dari ROM)

09H

Keyboard

19H

Bootstrap Loader (Loader pada Saat Pertmakali Booting)

0AH

I/O Channel Action
(Aktivitas Channel Input/Output)

1AH

BIOS Time & Date (Waktu dan Tanggal System pada BIOS)

0BH

COM 1 (Serial Port 1)

1BH

Control Break

0CH

COM 2 (Serial Port 2)

1CH

Timer Tick (Detikan Waktu)

ODH

Fixed Disk (Disk
Tetap/Harddisk)

1DH

Video Initialization

0EH

Diskette (Disket/Floppy Disk)

1EH

Disk Parameter

0FH

LPT 1 (Parallel Port 1)

1FH

Graphics Char (Karakter Grafik)

Ket:
*Interrupt tersebut telah dipastikan kegunaannya oleh system untuk keperluan khusus, tidak boleh dirubah oleh pemrogram

  • Devide By Zero => Jika terjadi pembagian dengan nol maka proses akan segera dihentikan
  • Singgle Step => untuk melakasanakan/mengeksekusi instruksi satu persatu
  • NMI => Pelayanan terhadap NMI(Non Maskable Interrupt) yaitu interupsi yang tidak dapat dicegah
  • Break Point => Jika suatu program menyebabkan overflow flag menjadi 1 maka interrupt ini akan melayani pencegahannya dan memberi tanda error.

  • Tabel DOS Interrupt

Nomor

Nama

Nomor

Nama

20H

Terminate Program
(Hentikan Program)

24H

Critical Error Handler
(Penanganan Error Kritis)

21H

DOS Function Services
(Servis-servis Fungsi dalam DOS)

25H

Absolute Disk Read (Membaca isi disk Secara Mutlak)

22H

Terminate Code
(Hentikan Kode)

26H

Absolute Disk Write (Menulis ke dalam disk secara mutlak)

23H

Control-Break Code(Keluar dari Kode)

27H

Terminate But Stay Resident(Hentikan Tapi Tetap Tinggal)

  • Beberapa Interrupt baik bios maupun dos memiliki nomor service sbb:
    • Interrupt Bios
      • INT 10 => Layanan Video Service/layanan monitor

Memiliki nomor service sbb:
0 => Atur mode video
1 => Mengubah ukuran kursor
2 => Ubah posisi kursor
3 => Mencari posisi kursor
5 => Memilih halama video
6 => Menggulung keatas
7 => Menggulung ke bawah
8 => Membaca karakter dan atributnya
9 => Menulis karakter dan atributnya
Ah => Menulis karakter
Fh => Mencari mode video

      • INT 13 => Layanan disket

Memiliki nomor service 0 yang dihunakan untuk mereset disk, 0 dimasukkan pada register AH

    • Interrupt Dos
      • INT 21 => Dos Function Service

Memiliki beberapa service yang diletakkan pada register AH antara lain:
1 => Input papan ketik
2 => Tampilkan karakter
3 => Input port serial
4 => Output port serial
5 => Output pencetak
6 => Input atau output langsung
7 => input tanpa tampilan
8 => input papan-ketik tanpa tab
9 => Tampilkan string
A => Baca buffer papan ketik
B => Status input
25 => Ubah vector interrupt
30 => Cari nomor versi DOS
31 => program tetap tinggal dimemori
35 => cari vector interrupt
3C => Buat berkas
3D =>Buka berkas
3E => Tutup berkas
3F => Baca berkas atau piranti
40 => Tulis berkas atau piranti
41 => Hapus berkas
43 => Atribut berkas
4A => Ubah memory yang disisihkan
4B => Muat dan jalankan Program
4C =>Hentikan program
4D => tentukan sandi kesalahan
56 => Ganti nama berkas

  • Contoh Program penggunaan interrrupt

.MODEL SMALL
.CODE
ORG 100H

Start: MOV CL,26 ;isi CL dengan 26(A-Z = 26 karakter)
MOV AH,2H ;service untuk mencetak karakter
MOV DL,'A' ;isi DL dengan karakter pertama uang akan di cetak

Ulang: INT 21H ;Cetak karakternya
INC DL ;DL=DL+1
LOOP Ulang ;Lompat ke label Ulang sebanyak CL
INT 20H ;Interrupt Hentikan Program

END Start

http://www.winsystems.com

BTemplates.com

Diberdayakan oleh Blogger.

Pages

Profil

Foto saya
Jakarta, jakarta selatan, Indonesia
Remaja. Tinggal di Jakarta. Sedang berusaha menemukan jawaban dari "Siapa saya?". Mencintai binar mata kanak-kanak, langit senja, aroma tanah basah, gelembung sabun, cokelat panas, tertawa keras-keras, dan berpelukan. Tergila-gila pada blog, humor, dan segala jenis buku. Teman yang menyenangkan dan menyebalkan, tergantung suasana hati. Baginya, menulis adalah terapi sekaligus sarana pencarian jati diri. Jadi, jangan tertipu oleh tulisan. Sapa dia jika bertemu di jalan, karena dia akan menyapa balik. Tapi jangan coba-coba menginjak kakinya di dalam angkot, atau menghembuskan asap rokok tepat di mukanya.

Followers

Total Tayangan Halaman

Popular Posts