Selasa, 02 November 2010

Fungsi kaki - kaki Z80

A0 – A15. Bus Alamat (keluaran, aktif High, 3-state). A0 – A15 membentuk bus alamat 16-bit. Bus Alamat menyediakan alamat bagi pertukaran bus data memori (sampai 64Kbyte) dan bagi pertukaran divais I/O.
D0 – D7. Bus Data (masukan/keluaran, aktif High, 3-state). D0 – D7 membuat sebuah bus data dua arah (bidirectional) 8-bit, yang digunakan untuk pertukaran data dengan memori dan I/O.
BUSACK# (Bus Request Acknowloegmnet). Pemberitahuan Bus (keluaran, aktif Low). Pemberitahuan Bus menunjukkan pada divais yang meminta bahwa bus alamat CPU, dan sinyal kontrol MREQ#, IORQ#, RD#, dan  WR# telah memasuki keadaan impedansi tinggi (high-impedance). Sirkuit eksternal sekarang bisa mengontrol jalur-jalur tersebut.
BUSREQ# (Bus Request). Permintaan Bus (masukan, aktif Low). Permintaan Bus memiliki prioritas lebih tinggi dibandingkan dengan NMI# dan selalu dikenali di akhir siklus mesin yang sedang berjalan. BUSREQ# memaksa bus alamat CPU, bus data dan sinyal kontrol MREQ#, IORQ#, RD# dan WR# menuju keadaan impedansi tinggi sehingga divais lain bisa mengontrol jalur-jalur tersebut. BUSREQ# normalnya terhubung OR (wired-OR) dan memerlukan satu resistor pullup eksternal bagi aplikasi tersebut. Perluasan periode BUSREQ# karena operasi DMA yang luas bisa menjaga CPU dari penyegaran (refreshing) RAM dinamis yang benar.
HALT#. Keadaan Berhenti (Halt) (output, aktif Low). HALT# menunjukkan bahwa CPU telah mengeksekusi perintah Halt dan sedang menunggu sebuah interupsi non-maskable atau maskable (dengan mask aktif) sebelum operasi bisa dilanjutkan kembali. Ketika terhenti, CPU mengeksekusi NOP untuk menjaga refresh memori.
INT# (Interupt Request). Permintaan Interupsi (masukan, aktif Low). Permintaan Interupsi dihasilkan oleh divais I/O. CPU menerima sebuah interupsi di akhir instruksi yang sedang berjalan jika flip-flop pengaktif interupsi terkontrol software internal (IFF) diaktifkan. INT# normalnya dihubung OR dan memerlukan resistor pullup eksternal bagi aplikasi-aplikasi tersebut.
IORQ# (I/O Request). Permintaan Masukan/Keluaran (keluaran, aktif Low, 3-state). IORQ# menunjukkan bahwa setengah bus alamat rendah memegang sebuah alamat I/O yang sah bagi sebuah operasi penulisan atau pembacaan I/O. IORQ# juga dihasilkan secara bersamaan dengan M1# selama sebuah siklus pemberitahuan interupsi untuk menunjukkan bahwa sebuah vektor tanggapan interupsi bisa ditempatkan pada bus data.
MI# (Maskable interupt). Siklus Mesin (keluaran, aktif Low). M1#, bersama-sama dengan MREQ#, menunjukkan bahwa siklus mesin yang sedang berjalan adalah siklus pengambilan opcode dari sebuah eksekusi instruksi. M1#, bersama-sama dengan IORQ# menunjukkan bahwa siklus pemberitahuan interupsi.
MREQ# (Memory Request). Permintaan Memori (keluaran, aktif Low, 3-state). MREQ# menunjukkan bahwa bus alamat memegang alamat yang sah bagi operasi pembacaan memori atau penulisan memori.
NMI# (Non-maskable Interupt Request). Interupsi Non-Maskable (masukan, terpicu ujung negatif). NMI# memiliki prioritas lebih tinggi dibandingkan dengan INT#. NMI# selalu dikenali di akhir instruksi yang sedang berjalan, tak tergantung dari status flipf-flop pengaktif interupsi (interrupt enable flip-flop), dan secara otomatis memaksa CPU untuk memulai kembali pada alamat 0066H.
RD# (Read). Baca (keluaran, aktif Low, 3-state). RD# menunjukkan bahwa CPU ingin membaca data dari memori atau divais I/O. Divais I/O atau memori yang dialamati akan menggunakan sinyal ini untuk menempatkan data ke dalam bus data CPU.
RESET#. Reset (masukan, aktif Low). RESET# mengawali CPU sebagai berikut: me-reset flip-flop pengaktif interupsi, menghapus PC dan register I dan R, men-set status interupsi ke Mode 0. Selama waktu reset, bus alamat dan data berkondisi impendansi tinggi, dan semua sinyal keluaran kontrol menjadi tidak aktif. Catat bahwa RESET# harus aktif minimal selama tiga siklus clock penuh sebelum operasi reset lengkap.
RFSH# (Refresh timing). Refresh (keluaran, aktif Low). RFSH#, bersama-sama dengan MREQ# menunjukkan tujuh bit bus alamat sistem terendah bisa digunakan sebagai alamat penyegaran ke memori dinamis sistem.
WAIT#. Tunggu (masukan, aktif Low). WAIT# menunjukkan pada CPU bahwa memori atau divais I/O yang dialamati tidak siap untuk sebuah pengiriman data. CPU selanjutnya memasuki sebuah keadaan tunggu selama sinyal tersebut aktif. Perluasan periode WAIT# bisa menjaga CPU dari penyegaran memori dinamis yang benar.
WR# (Write). Tulis (keluaran, aktif Low, 3-state). WR# menunjukkan bahwa bus data CPU memegang data yang sah untuk disimpan pada lokasi memori atau I/O yang dialamati.

Virus McDonal ada di Facebook

JAKARTA, KOMPAS.com — Pengguna Facebook di Indonesia hari ini dihebohkan undangan berisi link atau tautan beralamat di bit.ly untuk menonton video heboh mengenai McDonald. Banyak macam judulnya, ada "The Truth Behind McDonald" dan "Shocking McDonald Video". Tetapi, bukannya dapat video yang dimaksud, Facebook Anda malah menyebarkan undangan yang sama ke teman-teman dan mengotori inbox.
Hati-hati karena semua itu hanyalah trik orang yang iseng untuk memanfaatkan akun Facebook Anda. Inilah bentuk virus baru di Facebook untuk mencuri data pribadi penggunanya. Jika pelakunya jahat, maka bukan tidak mungkin akun Anda dipakai untuk bermacam penipuan lewat Facebook.
Kalau ditelusuri, Graham Cluley dari perusahaan keamanan internet dan komputer Sophos sudah mengingatkan bahwa penyebaran virus ini sudah berlangsung sejak Agustus 2010. Menurutnya, penyebar virus memang selalu mengubah judul, tetapi semuanya terkait McD. Walau begitu, judul tersebut bisa saja diganti dengan judul menarik apa pun. Facebook pun sudah dihubungi untuk mencegah penyebarannya. Namun, virus itu rupanya masih bisa bocor hingga ke pengguna Indonesia.
Bagaimana sang pelaku mencuri data Facebook Anda? Begini cara kerjanya. Undangan tersebut menyertakan tautan ke alamat situs dengan iming-iming video berisi informasi aneh tentang McDonald. Begitu tautan tersebut diklik, akan muncul aplikasi Facebook dengan nama "Worst McD's Customer". Untuk dapat membuka video, halaman tersebut meminta izin Anda untuk mengakses identitas, posting di wall, akses data kapan saja, akses ke informasi kontak, bahkan mengatur halaman di Facebook.
Jika pilihan allow yang diklik, boro-boro dapat video yang diharapkan. Aplikasi tersebut malah mengirimkan secara otomatis undangan yang sama ke semua teman Anda. Bayangkan kalau semua yang diizinkan pengguna dimanfaatkan pelaku. Halaman Facebook Anda bakal diacak-acak.
Jadi, kalau dapat undangan dengan judul terkait McD dan sejenisnya, abaikan saja. Kalau ragu-ragu, cek informasi apa saja yang mereka ingin akses. Jika berlebihan, tinggalkan tautan tersebut. Jangan gadaikan keinginan Anda melihat video aneh-aneh dengan mengorbankan semua akses ke akun Facebook Anda ke orang lain.
Nah, lalu bagaimana kalau Anda telanjur terkena jebakan tersebut? Tenang saja, masih ada cara untuk mengobatinya. Menurut Cluley, hapus semua referensi yang mengarah ke link tersebut, baik di status maupun setting aplikasi. Pastikan tidak ada bagian Facebook Anda yang mengarahkan ke tautan tersebut.

iPhone Lebih Laku Ketimbang BlackBerry

VIVAnews - Apple berhasil melampaui Reseach In Motion (RIM), vendor perangkat BlackBerry, dan mengukuhkan diri sebagai produsen ponsel terbesar keempat di dunia per bulan September 2010.
Menurut data yang dirilis lembaga riset IDC, Nokia masih menjadi raja di posisi pertama dengan pengapalan lebih dari 110 juta unit ponsel. Samsung dan LG Electronics menyusul di posisi kedua dan ketiga.
Sementara RIM merosot ke peringkat kelima, turun satu peringkat dibandingkan kuartal sebelumnya. Di kuartal ketiga ini, produsen asal Kanada itu tak mampu menandingi penjualan Apple iPhone.
IDC melaporkan, Apple sukses mengapalkan sekitar 14,1 juta unit iPhone dibandingkan RIM yang hanya mampu menjual 12,4 juta unit BlackBerry. "Masuknya Apple ke jajaran lima besar menggarisbawahi besarnya pengaruh smartphone pada penjualan ponsel secara keseluruhan," kata Kevin Restivo, analis senior IDC dalam keterangannya, Minggu 31 Oktober 2010.
"Selain itu, produsen yang mendesain model smartphone yang unik dan populer menjadikannya sebagai perusahaan yang paling cepat berkembang," tandasnya.
Secara global, ponsel yang terjual telah mencapai 340,5 juta unit per bulan September 2010. Angka ini meningkat 14,6 persen dibandingkan periode yang sama di tahun lalu.
Dari jajaran lima vendor terbesar, Apple dan RIM tercatat sebagai produsen dengan pertumbuhan penjualan terbesar, di mana iPhone mencatat pertumbuhan hingga 90,5 persen dari tahun ke tahun.
Anehnya, di Indonesia, salah satu pasar ponsel terbesar di Asia Pasifik, iPhone tidak begitu populer. Menurut data terakhir yang dirilis Telkomsel, iPhone resmi hanya terjual sekitar 30.000 unit. Tak diketahui pasti berapa unit iPhone yang dipasarkan secara total termasuk di jalur non resmi.

Contoh Pemograman menggunakan fungsi

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
int hadir,n=1,jmlhdir,tugas,jmlhtugs,nMid,nFinal;
int Nmax=0,Nmin=100;
int jum,jum1;
int a,b,c,d,e,f,g,h;
float nk,nt,nAkhir,total1,total2,total3,total4;
float rata1,rata2,rata3,rata4;
char lagi,nim[12],nama[30],Exit,nh;
const Jhadir = 15; const Jtugas = 5;
void nilaihuruf (int &na, char &nh)
{
if(na >=80 && na <=100)
nh ='A';
else if (na >=60)
nh ='B';
else if (na >=40)
nh ='C';
else if (na >=30)
nh ='D';
else if (na > 0)
nh ='E';
else
nh = 'K';
cout<<"Nilai huruf anda "<<nh<<endl;
}
void jumlah()
{
if (nh == 'A')
c++;
else if (nh == 'B')
d++;
else if (nh == 'C')
e++;
else if (nh == 'D')
f++;
else if (nh == 'E')
g++;
else if (nh == 'K')
h++;
cout<<"Jumlah mahasiswa nilai A "<<c<<endl;
cout<<"jumlah mahasiswa nilai B "<<d<<endl;
cout<<"jumlah mahasiswa nilai C "<<e<<endl;
cout<<"jumlah mahasiswa nilai D "<<f<<endl;
cout<<"jumlah mahasiswa nilai E "<<g<<endl;
cout<<"jumlah mahasiswa nilai K "<<h<<endl;
}
void semua()
{
jum=c+d+e+f;
jum1=g+h;
cout<<"jumlah mahasiswa lulus [A,B,C,D] "<<jum<<" orang"<<endl;
cout<<"jumlah mahasiswa tidak lulus [E,K] "<<jum1<<" orang"<<endl;
}
void persentase()
{
float lulus, tdlulus;
lulus = jum/--n * 100;
tdlulus = jum1/n++ * 100;
cout<<"persentase yang lulus "<<lulus<<endl;
cout<<"persentase yang tdk lulus "<<tdlulus<<endl;
}
void main()
{
do
{
b=1;
cout<<"Data mahasiswa ke "<<n++<<endl;
cout<<"Masukkan nama mahasiswa : ";gets(nama);
cout<<"masukkan nim mahasiswa  : ";cin>>nim;
cout<<"Masukkan kehadiran 1= hadir & 0=absen\n";
a=1; jmlhdir = 0;
while (a<=15)
{
cout<<"kehadiran ke "<<a<<" : ";cin>>hadir;
jmlhdir = jmlhdir + hadir;
a++;
}
nk = (jmlhdir*100) / Jhadir;
total1 += nk;
cout<<"Nilai kehadiran       = "<<nk<<endl;
cout<<"Masukkan nilai tugas\n";
jmlhtugs=0;
while (b<=5)
{
cout<<"Tugas Ke "<<b<<"     : ";cin>>tugas;
jmlhtugs = jmlhtugs + tugas;
b++;
}
nt = jmlhtugs/Jtugas;
total2  += nt;
cout<<"Nilai Tugas           = "<<nt<<endl;
getch();
clrscr();
cout<<"Nilai kehadiran       = "<<nk<<endl;
cout<<"Nilai tugas           = "<<nt<<endl;
cout<<"masukkan nilai mid    = ";cin>>nMid;
cout<<"Masukkan nilai final  = ";cin>>nFinal;
nAkhir = 0.1 * nk + 0.2 * nt + 0.3 * nMid + 0.4 * nFinal;
total3 += nMid;
total4 += nFinal;
cout<<"Nilai akhir anda      = "<<nAkhir<<endl;
nilaihuruf(nAkhir,nh);
jumlah();
cout<<"Apakah masih ada data yang diinginkan [y/t] : ";cin>>lagi;
}
while (lagi=='y' || lagi=='Y');
if (nAkhir > Nmax)
(Nmax = nAkhir);
if (nAkhir < Nmin)
(Nmin = nAkhir);
rata1 = total1 / --n;
rata2 = total2 / n++;
rata3 = total3 / --n;
rata4 = total4 / n++;
cout<<"Nilai maksimal dari nilai akhir yaitu "<<Nmax<<endl;
cout<<"Nilai minimal dari nilai akhir yaity "<<Nmin<<endl;
semua();
persentase();
cout<<"rata - rata nilai kehadiran yaitu "<<rata1<<endl;
cout<<"rata - rata nilai tugas yaitu "<<rata2<<endl;
cout<<"rata - rata nilai mid yaitu "<<rata3<<endl;
cout<<"rata - rata nilai final yaitu "<<rata4<<endl;
cout<<"untuk exit ketik [y/Y] : ";cin>>Exit;
if (Exit =='y' || Exit =='Y' )
_exit(1);
}