Friday, April 30, 2010

CARA KERJA ALU 1 BIT


ALU(Arithmetic and Logic Unit) adalah sebuah kumpulan gerbang logika yang disatukan untuk dapat mengerjakan beberapa fungsi tertentu tergantung kontrol yang diberikan. Artinya ALU dapat mengerjakan berbagai jenis fungsi sekaligus dengan memilih jenis fungsi mana yang akan dilakukan pada ALU tersebut. Contohnya adalah ALU 1 bit yang dapat mengerjakan fungsi logika(AND, OR, NOT) dan fungsi Full Adder sekaligus. ALU ini menggunakan Gerbang logika untuk operasinya yaitu AND, OR, dan NOT, serta sebuah IC Full Adder(7483). Untuk melakukan kontrol digunakan multiplexer 4 to 1 dengan 2 selector.


Seperti terlihat pada rangkaian diatas, A, B, dan Cin adalah input data utama yang berhubungan langsung dengan 4 operasi dasar yang dapat dilakukan ALU tersebut. Kemudian output dari operasi- operasi dasar itu dimasukkan ke input dari multiplexer 4 to 1. Seperti yang kita ketahui multiplexer hanya akan mengeluarkan 1 output tergantung dari nilai selectornya. Karena itulah F0, dan F1 digunakan sebagai selector pada multiplexer sehingga selector ini dapat berfungsi sebagai kontrol operasi terhadap ALU tersebut. 

Selector (F0,F1) bernilai 00 untuk operasi Not dengan input A sehingga B dan Cin tidak berpengaruh pada output
Selector (F0,F1) bernilai 01 untuk operasi OR dengan input A dan B sehingga Cin tidak berpengaruh pada output
Selector (F0,F1) bernilai 10 untuk operasi AND dengan input A dan B sehingga Cin tidak berpengaruh pada output
Selector (F0,F1) bernilai 11 untuk operasi Full Adder dengan input A, B dan Cin dengan output hasil Q dan output tambahan Cout.

Tabel Hasil Output

Khusus untuk full adder dibutuhkan output tambahan yaitu Cout. Cout hanya digunakan saat fungsi Full adder yang dipilih karena itu digunakan gerbang AND untuk membuat output Cout bernilai 0(tidak berfungsi) saat mengerjakan fungsi yang bukan Full adder. Selector digabungkan dengan gerbang AND sehingga hanya akan bernilai 1 saat mengerjakan fungsi full adder(F0,F1 = 11)dan hasil output selector ini di masukkan gerbang AND lagi bersama dengan output dari IC Full Adder(7483).
ALU yang telah dibahas adalah ALU 1 bit karena outputnya hanya 1 bit saja meskipun ada nilai Cout. Untuk ALU yang lebih dari 1 bit misal ALU 4 bit dapat dirancang sedemikian rupa sehingga dapat mengerjakan fungsi lain misal subtractor. ALU semacam ini menggunakan prinsip detak(Clock) seperti pada register. Tentang ALU 4 bit dan selanjutnya akan dibahas di lain waktu. Semoga bermanfaat :)

 

Sumber: praktikum organisasi dan arsitektur komputer
READ MORE - CARA KERJA ALU 1 BIT

Thursday, April 29, 2010

Flowchart Searching Data

Flowchart Searching data dengan metode biner dan sequensial
READ MORE - Flowchart Searching Data

Program Searching Data

Program untuk serching data dengan metode biner dan sequensial. dibuat dengan delphi 7
source codenya dapat didownload disini
READ MORE - Program Searching Data

Tuesday, April 27, 2010

14 RAHASIA USAHA


  1. Penuhi kebutuhan konsumen
  • Kenali kebutuhan konsumen
  • Penuhi kebutuhan tersebut dengan harga, kualitas produk, dan pelayanan yang lebih baik
  • Product centric = membuat banyak produk sekaligus berdasarkan analisa pasar
  • Costumer centric = membuat produk hanya saat ada pesanan dari konsumen
  1. Jual keunikan(ultimate advantage)
  • Produk Kreatif dan inovatif
  • Penemuan jenis produk, teknologi, sistem, dan program baru
  • Jangan ragu mematenkan penemuan baru
  • Penemuan baru yang memiliki ultimate advantage sangat berpeluang menembus pasar
  1. Duplikasi usaha lain
  • Terkadang ide usaha tersebar dimana-mana
  • Perlu membaca peluang, mengukur potensi dan berani mengambil resiko
  • Plus memberikan nilai tambah(harga, pelayanan, kecepatan, keramahan)
  1. Beri fasilitas tambahan
  • Agar unggul produk dapat diubah dan atau ditambah
  • Kuncinya dalah keunggulan produk dibanding yang lain
  1. Jual ketrampilan
  • Jeli dengan bakat yang dimiliki orang
  • Manfaatkan orang berbakat pada hal yang dapat dijadikan nilai jual
  1. Jadi agen
  • membuka keagenan atau biro jasa
  • Perlu pengalaman dan relasi
  • Dapat ditangani sendiri atau mempekerjakan orang berbakat
  1. Jual barang second
  • Barang memiliki nilai historis
  • Barang memiliki merk asli dan bagus
  • Barang memiliki harga yang spesial
  • Barang milik orang terkenal
  • Tidak akan kekurangan barang
  1. Buka kantor
  • Coba merintis kantor sendiri, ajak kolega atau teman seprofesi untuk patungan modal
  • Jual skill dan pengalaman anda, reputasi dan relasi akan mempengaruhi jumlah klien
  1. Jalankan DS/MLM
  • Bisnis prospektif
  • Direst selling(DS) dan multi-level marketing(MLM) sering juga disebut personal franchise
  • Modal relatif murah
  • Didukung produk yang bagus
  • Memiliki sistem pendukung pemasaran
  • Ada pelatihan dan seminar
  • Jenjang karier
  • Kesempatan untuk mendirikan perseroan sendiri(authorized distributor)
  • Hindari bisnis skema piramid atau money game berkedok MLM
  1. Beli waralaba
  • Modal lumayan besar tapi bagus untuk yang tak mau repot memikirkan jenis usaha baru
  • Waralaba usahanya relatif terstandarisasi
  • Jeli memilih waralaba yang bagus dan berpotensi
  • Banyak pilihan waralaba dengan modal besar atau yang sedang-sedang saja
  1. Beli usaha prospektif
  • Punya keunikan dan SDM bagus
  • Prospeknya cerah
  1. Beli usaha sekarat
  • Usaha sekarat karena manajemen yang amburadul
  • Jeli dalam merekayasa ulang usaha dengan strategi yang tepat
  • Biaya pemolesan(pemulihan) harus dikontrol
  • Dapat dibeli dengan harga murah
  1. Buka lokasi
  • Usaha cepat berkembang karena faktor lokasi
  • Daerah perumahan akan memicu perkembangan ekonomi
  1. Usaha bersama
  • Melakukan kerjasama saling menguntungkan
Sumber : kuliah kewirausahaan
READ MORE - 14 RAHASIA USAHA

Monday, April 26, 2010

Game Tebak Angka Dengan Pascal

bahasa pemrograman pascal atau basic dapat dimanfaatkan untuk membuat game sederhana. berikut ini adalah listing program untuk membuat game tebak angka dengan program delphi atau pascal
program game;

{$APPTYPE CONSOLE}

uses
  SysUtils;

Var a,b,jawab, tanya,langkah : integer;
begin
    langkah:=0;
    a:=0;
    repeat
    a:= a +1;
    jawab   := random(100);
    until a = 5;
    repeat
        write('Coba tebak angka dari 1 sampai 100 : ');readln(tanya);
        if(tanya>jawab)then
          writeln('Angka terlalu besar')   ;
        if(tanya
          writeln('Angka terlalu kecil');
        langkah:=langkah+1;
    until jawab=tanya;
    writeln('Selamat! Anda menjawab dalam ',langkah,' langkah');
    readln
;
end.

program ini sebenarnya menggunakan prinsip dasar dari binary search yaitu membandingkan sebuah bilangan apakah lebih besar atau lebih kecil dari bilangan yang dijadikan acuan sehingga pada akhirnya dengan pemindahan atau penukaran bilangan akan diperoleh bilangan yang terurut. Semoga info ini berguna bagi pembaca untuk pengembangan berikutnya ^^
READ MORE - Game Tebak Angka Dengan Pascal

REKURSI (HOURS 11)


Rekursi adalah teknik pemrograman dimana sebuah fungsi atau anggota yang dapat memanggil dirinya sendiri untuk menyelesaikan sebuah permasalahan.
 

Contoh rekursi dalam penggunaan penambahan segitiga phytagoras dimana didapatkan hasil berupa deret 1, 3, 6, 10, 15, 21, …dst

Digunakan loop atau perulangan untuk mendapatkan nilai jumlah dari setiap segitiga
int triangle(int n) {
int total = 0;
while(n > 0) // until n is 1
{
total = total + n; // add n (column height) to total
--n; // decrement column height
}
return total;
}
Dengan menggunakan rekursi rumusnya dapat disederhanakan menjadi
int triangle(int n) {
if(n==1)
return 1;
else
return( n + triangle(n-1) );
}
Secara matematis dapat dihitung nilai dari hasil return fungsi triangle yaitu dengan rumus (n2+n)/2

Cara kerja fungsi triangle
Listing
int triangle(int n){
cout << "Entering: n=" << n << endl;
if(n==1){
cout << "Returning 1" << endl;
return 1;
}
Else {
int temp = n + triangle(n-1);
cout << "Returning " << temp << endl;
return temp;
}
}

Output
Enter a number: 5
Entering: n=5
Entering: n=4
Entering: n=3
Entering: n=2
Entering: n=1
Returning 1
Returning 3
Returning 6
Returning 10
Returning 15
Triangle = 15

Analisa
Terlihat jelas urutan saat fungsi triangle memproses input dan memulai rekursi dengan memanggil dirinya sendiri hingga nilai yang dikembalikan(return) terus berubah hingga didapat nilai akhir yaitu nilai yang sebenarnya
Karakteristik dari fungsi rekursif
- memanggil dirinya sendiri
- ketika memanggil dirinya sendiri maka akan menyelesaikan masalah yang lebih kecil/sederhana terlebih dahulu
- ada beberapa versi dari rekursi dimana proses yang dilakukan terlalu mudah sehingga tidak perlu melakukan pemanggilan fungsi diri sendiri dan langsung memberikan nilai return

Rekursi dipakai bukan karena efisien
tapi karena kemudahan dalam listing serta sederhana. Rekursi memakan banyak memori dan dapat mengakibatkan overflow jika permasalahan yang diberikan terlalu banyak

Pembuatan program anagram/kombinasi dengan rekursi
Konsepnya adalah menyimpan 1 karakter dan menukar-nukar posisi karakter yang lain sehingga didapat kombinasi yang berbeda-beda
Listing anagram
//anagram.cpp
//creates anagrams
#include <iostream>
#include <string>
using namespace std;
////////////////////////////////////////////////////////////////
class word {
private:
int size; //length of input word
int count; //numbers in display
string workStr; //workspace
void rotate(int); //rotate part of workStr
void displayWord(); //display workStr
public:
word(string); //constructor
void anagram(int); //anagram ourselves
};
//--------------------------------------------------------------
//constructor
word::word(string inpStr) : workStr(inpStr), count(0) { //initialize workStr
size = inpStr.length(); //number of characters
}
//--------------------------------------------------------------
void word::anagram(int newSize) {
if(newSize == 1) //if too small,
return; //go no further
for(int j=0; j<newSize; j++) //for each position,
{
anagram(newSize-1); //anagram remaining
if(newSize==2) //if innermost,
displayWord(); // display it
rotate(newSize); //rotate word
}
}
//--------------------------------------------------------------
//rotate left all chars from position to end
void word::rotate(int newSize) {
int j;
int position = size - newSize;
char temp = workStr[position]; //save first letter
for(j=position+1; j<size; j++) //shift others left
workStr[j-1] = workStr[j];
workStr[j-1] = temp; //put first on right
}
//--------------------------------------------------------------
void word::displayWord() {
if(count < 99) //spaces before onecout
<< " "; //or two-digit numbers
if(count < 9)
cout << " ";
cout << ++count << " "; //number
cout << workStr << " ";
if(count%6 == 0)
cout << endl;
}
////////////////////////////////////////////////////////////////
int main() {
string input;
int length;
cout << "Enter a word: "; //get word
cin >> input;
length = input.length(); //get its length
word theWord(input); //make a word object
theWord.anagram(length); //anagram it
return 0;
} //end main()
Output
Enter a word: cats
1 cats     2 cast     3 ctsa     4 ctas     5 csat     6 csta
7 atsc     8 atcs     9 asct     10 astc     11 acts     12 acst
13 tsca     14 tsac     15 tcas     16 tcsa     17 tasc     18 tacs
19 scat     20 scta     21 satc     22 sact     23 stca     24 stac

Pembuatan fungsi rekursif
  1. Menentukan nilai henti(terminate)
  2. Melakukan penyederhanaan pada langkah rekursi
Contoh
Program faktorial dengan fungsi fak(n)
  1. Nilai henti 1!=1 fak(1)=1
  2. Penyederhanaan n! = n*(n-1)!
Program fibonacci dengan fungsi fib(n)
  1. Nilai henti fib(1) = 1

        fib(2) = 1
  2. Penyederhanaan fib(n) = fib(n-1) + fib(n-2)
Program pangkat an dengan fungsi pangkat(a,n)
  1. Nilai henti pangkat(a,n) n=0;a=1
  2. Penyederhanaan return(a*pangkat(a,n-1))
Program tes 1
Int tes(int n) {
If (n>0) {
Cout <<n<<" ";
Tes(n-1);
}
}
Int main(){
Tes(5);
Cout<<endl;
Return 0;
}
Output 54321

Program tes 2
Int tes(int n) {
If (n>0) {
Tes(n-1);
Cout <<n<<" ";
}
}
Int main(){
Tes(5)
Cout<<endl;
Return 0;
}
Output 12345





sumber : kuliah logika dan pemrograman sistem II
READ MORE - REKURSI (HOURS 11)

Friday, April 16, 2010

Laporan Komparator

Laporan Praktikum Organisasi dan Arsitektur Komputer tentang komparator dapat di download disini


source file untuk simulasi rangkaian komparator pada program proteus dapat di download disini
READ MORE - Laporan Komparator

Laporan ELKA watak common emiter

 Laporan Praktikum Elektronika II tentang watak amplifier common emiter dapat di download disini
READ MORE - Laporan ELKA watak common emiter

Thursday, April 15, 2010

Laporan ELKA Push Pull

Laporan Praktikum Elektronika II tentang Push Pull Amplifier Dapat Didownload Disini
READ MORE - Laporan ELKA Push Pull