Minggu, 27 April 2014

Proteus profesisonal 7.7 dan Implementasinya


Proteus professional 7.7 merupakan kelompok software elektronik yang digunakan untuk membantu para desainer dalam merancang dan mensimulasikan suatu rangkaian elektronik. Software ini memiliki dua fungsi sekaligus dalam satu paket, paket satu sebagai software untuk menggambar skematik dan dapat disimulasikan yang diberi nama ISIS. Paket kedua digunakan sebagai merancang gambar Printed Circuits Board (PCB) yang diberi nama ARES. Secara langsung, pengubahan dari skematik ke PCB dapat dilakukan dalam software Proteus Prof 7.7 ini. Proteus Prof ISIS memiliki versi yang selalu diperbarui, mulai dari versi 7.0 sampai dengan 7.10. Setiap kenaikan versi memiliki penambahan akan library komponen yang dapat diambil dan digunakan dalam penggambaran atau perancangan. Sebagai perancang rangkaian elektronik terlebih dahulu menggunakan ISIS sebagai media yang memudahkan dalam peranangan dan simulasi. Banyaknya library dari Proteus Prof. 7.7 ISIS membuat software ini dikatakan software simulasi lengkap, yaitu dari komponen-komponen pasif, Analog, Trasistor, SCR, FET, jenis button/tombol, jenis saklar/relay, IC digital, IC penguat, IC programmable (mikrokontroller) dan IC memory. Selain didukung dengan kelengkapan komponen, juga didukung dengan kelengkapan alat ukur seperti Voltmeter, Ampere meter, Oscilloscope, Signal Analyzers, serta pembangkit Frekuensi. Kelengkapan fitur yang disediakan ini menjadikan Proteus Prof. 7.7 ISIS menjadi salah satu software simulasi elektronik terbaik.

Setelah  program proteus terisntall bukalah dengan mengklik icon isis, kemudian akan tampil seperti pada gambar dibawah ini:


Klik huruf (P) yang merupakan  “Pick device” untuk mengambil komponen apa saja yang dibutuhkan:


Nah disini tempat untuk mengambil komponen yang dibutuhkan dalam perancangan simulasi…
Caranya sangat mudah tinggal menulis komponen yang kita butuhkan pada list keyword… sebagai contoh kita ingin merancang mikrokontroler Atmega16 dengan LED
List komponen yang dibutukan…
  • mikrokontroler Atmega16  ketik saja keywordnya dengan “Atmega16” maka komponen ATmega16 akan diload dan siap digunakan..lalu klik ok.
  • sama halnya dengan cara mengambil komponen mikro…untuk mengambil LED kita juga hanya dengan cara menuliskan keywordnya dengan “LED” .
catatan : untuk kasus simulasi komponen yang kita reload adalah library dengan  kondisi “active” agar saat disimulasikan seolah-olah LED tersebut mengeluarkan cahaya  sesuai dengan warna led yang kita gunakan….
ini hasil reload komponen….

Setalah itu kita tinggal rancang susunan komponen, seperti gambar berikut : 


 Catatan: untuk rancangan cristal mikro dan rangkaian reset mikro gak perlu dirancang lagi (tinggal diinputkan saja) dan pencatuan mikro juga begitu.. secara default  vcc dan ground mikro telah terdefinisikan oleh software proteus ini… sebagai contoh pada rancagaan LED disusun  dengan kondisi common anode dimana anode led terhubung oleh vcc, label vcc tersebut haruslah kita buat sendiri dengan cara  klik pada “wire label” lalu isi label dengan “vcc”, begitu juga sebaliknya untuk membuat grounding… dgn menuliskan “gnd”. Oiya rangkaian LED nya jika dirancang pada real sistem harus dipasang resistor (470Ω) gunanya untuk membatasi arus yang melewati LED (sebesar 10mA).
Nach selain itu kita juga harus mengetahui.. fungsi tools laenya… seperti gambar berikut:

Tidak semua tools saya jelaskan sebagian tools lainnya sampai sekarang ada juga yang belum saya pake, tapi yang sedikit ini sudah cukup untuk bermain-main dengan PROTEUS, nah Untuk lebih jelasnya sebagai berikut:
  1. List komponent … tools ini digunakan untuk melihat list komponent yang kita gunakan pada rancangan kita, untuk menambahkan komponen klik dulu  tools ini setelah itu baru klik pick device (P).
  2. Junction dot…kalo tools yang ini berguna untuk memberi tanda penghubung suatu wire (kabel), jika ada dua wire dan ingin kita hubungkan nach gunakan tools ini, begitu juga untuk kondisi sebaliknya jika kita ingin menghilangkan sambungan kabel tersebut maka kita tinggal klik juntion dot pada sambungan kabel tersebut agar sambungannya menjadi terputus.
  3. Label wire…untuk tools yang ini penting untuk digunakan sebab kita tinggal memberi label pada wire tersebut apakah terhubung vcc ataukah gnd
  4. Bus…tools ini digunakan untuk rancangan jalur yang menggunakan jalur bus D0-D7 sehingga sangat hemat pengkabelan.
  5. Instant edit mode…nich tools digunakan untuk mengedit komponen yang kita rancang, contoh kita menggunakan mikro, untuk mendonload file .hex dari pemrograman kompiler kita gunakan tools ini atau dengan cara klik kanan pada komponen (setelah komponen berwarna merah) klik kiri maka box edit komponent akan muncul seperti gambar berikut ini:

Nah disini kita tinggal memasukkan nilai clock frekuensi dari mikro atau cristal luar mikro sebagai contoh 12Mhz dan disini juga tempat mendonload file .hex dengan cara klik icon folder pada program file dan browse file hexa yang akan  kita masukkan  kedalam mikrokontroler…
6.   Simulation graph… nach ni tools untuk mensimulasikan grapik sinyal analog,digital, frekuensi, distorsi,fourier.dan lain sebagainya.
7.   Tape recorder… apa lagi tools yang satu ini… ane belum pernah menggunakan ni tools… dari bahasanya jika diterjemahkan sebagai perekam.. mungkin mirip ma perekam radio tape kali…hehe….
8.   Generator… nach kalo tools yang ini mau gak mau sering  kita gunakan, Generator berarti pembangkit… jadi tools ini digunakan untuk pembangkit  berbagai macam sinyal baik analog maupun digital dengan berbagai macam bentuk  sinus, segitiga, denyut  dan sebagainya bahkan secript program untuk menghasilkan kondisi sinyal tertentu.
9.   Virtual instrument… tools yang ini merupakan virtual alat pengukuran seperti osiloskop, virtual terminal, ac/dc voltmeter, ac/dc ammeter, dan sebagainya… nah jika pada rancangan kita ingin mengetahui tegangannya berapa, arusnya berapa, atau bentuk sinyal keluaranya seperti apa, maka gunakan tools ini,…

Jika rangkaian sudah jadi dan telah dimasukkan file hexa maka simulasi dapat kita jalankan dengan mengklik tombol play di bagian bawah dan mengakhirinya dengan klik tombol stop.
Semoga informasi ini bermanfaat :) 

Download : Proteus77

Rabu, 09 April 2014

perulangan pada java


Perulangan ( looping ) adalah suatu proses didalam  program  yang dapat mengeksekusi beberapa statement yang sama dengan berulang-ulang sampai ada kondisi untuk berhenti.
Ada tiga jenis perulangan di dalam java yaitu:
  • ·         For
  • ·         While
  • ·         Do-while

Pengertian for
Struktur for pada umumnya digunakan untuk pengulangan yang banyaknya sudah diketahui sebelumnya. Proses pengulangan akan terus berjalan selama kondisi bernilai true, dan jika bernilai false maka proses pengulangan akan dihentikan secara otomatis.
Bentuk umum  for:          (inisialisasi; kondisi; iterasi;){
                                                // Statement
                                                }
Pengertian while
Pada while pengulangan dikondisikan di awal blok, jadi apabila kodisi tidak terpenuhi ( bernilai false) maka proses pengulangan tidak akan pernah dilakukan atau tidak berjalan.
Bentuk umum while:      inisialisasi
                                                While (kondisi){
                                                //statement
                                                Iterasi
                                                }
Pengertian do-while
Struktur do-while sebenarnya tidak beda jauh dengan while. Perbedaannya hanyalah terletak pada penempatan kondisinya saja. Pada while kondisi diletakan di awal blok pengulangan sedangka pada do-while kondisinya berada di akhir blok. Jadi pada proses pengulangan do-while akan dilakukan minimal sekali meskipun ternyata kondisinya tidak terpenuhi atau bernilai false.
Bentuk umum do-while:               do{
                                                 //statement
                                                 Iterasi
                                                 } while (kondisi);

8 tipe data primitif dalam java



1.      macam-macamtype data pada java !
1.      Tipe Data Primitif
            Delapan macam tipe data primitif dalam pemrograman Java, yaitu :
a.       Integer (Bilangan Bulat )
Integer merupakan tipe data numerik yang digunakan apabilatidak berurusan dengan pecahan atau bilangan desimal. Tipe data numerik yang termasuk integer adalah sebagai berikut :
·         Byte Memiliki nilai integer dari -128 sampai +127 dan menempati 1 byte ( 8 bits ) di memori
·         Short Memiliki nilai integer dari -32768 sampai 32767 dan menempati 2 bytes ( 16 bits ) di memori
·         Int Memiliki nilai integer dari -2147483648 sampai 2147483647 dan menempati 4 bytes ( 32 bits ) di memori
·         Long Memiliki nilai dari -9223372036854775808 sampai 9223372036854775807 dan menempati 8 bytes ( 64 bits ) dimemori
Bilangan integer biasanya menggunakan int, dan bukan byte, short maupun long. Bilangan integer juga mengenal nilai positif dan negatif ( signed number ). Tipe data byte dan short hanya digunakan pada aplikasi khusus yang memperhatikan penggunaan memori.
Sedangkan long jarang digunakan karena jarang memerlukan bilangan sebesar kapasitas long.
b.      Floating Point ( Bilangan Pecahan )
Floating Point digunakan untuk menangani bilangan desimal atau perhitungan yang lebih detail dibanding integer. Ada dua macam floating point, yaitu :
·         Float memiliki nilai -3.4x108 sampai +3.4x108 dan menempati 4 byte di memori\
·         Double memiliki nilai -1.7x10308 sampai +1.7x10308
Semua bilangan pecahan atau desimal dalam Java tanpa diakhiri huruf akan dianggap sebagai double. Sedangkan bilangan yang ingin dikategorikan sebagai float harus diakhiri dengan huruf F.  Misalnya : 4.22 F atau 2.314f. Sedangkan untuk bilangan double, bisa menambah dengan huruf D, karena secara default bilangan dengan koma atau pecahan atau desimal akan dianggap sebagai double.
c.       Char
Char adalahkarakter tunggal yang didefinisikan dengan diawali dan diakhiri dengan tanda ‘ ( petik tunggal ). Char berbeda dengan String, karena String bukan merupakan tipe data primitif, tetapi sudah merupakan sebuah objek. Tipe char mengikuti aturan unicode, sehingga dapat menggunakan kode /u kemudian diikuti bilangan dari 0 sampai 65535, tetapi yang biasa digunakan adalah bilangan heksadesimal dari 0000 sampai FFFF. Misalnya : ‘\u123’
d.      Boolean
Dalam Java dikenal tipe data boolean yang terdiri dari dua nilai saja, yaitu true dan false.Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering digunakan untuk menentukan alur program.

Senin, 07 April 2014

STRUKTUR DATA



Contoh Soal Struktur Data

Pilihlah jawaban yang benar untuk setiap pertanyaan dari no 1 sampai 7. Jawaban yang benar bisa lebih dari satu untuk masing-masing nomor.

1. Perhatikan baris program berikut ini
             int x[20];

setelah eksekusi, pernyataan mana yang benar ?

  1. x[20] nilainya 0
  2. x[19] nilainya tidak didefinisikan
  3. x[19] nilainya 0
  4. x[0] nilainya null

2. statement mana yang akan menciptakan array bertipe double yang
terdiri dari angka 5.2, 7.0, dan -2.5?

  1. double list[2 ] = { 5.2, 7.0, -2.5 };
  2. double list[3] = { 5.2, 7.0, -2.5 };
  3. double list = [ 5.2, 7.0, -2.5 ];
  4. double list[ ]={5.2, 7.0, -2.5};



3. Perhatikan gambar berikut ini :


Elemen apa yang ada pada indeks 3 dalam array karakter di atas?
  1. '3'
  2. '5'
  3. 'A'
  4. 'H'

4. Untuk menyediakan reference ke satu    
    elemen pada array, array
    identifier harus dikombinasikan  
    dengan?
  1. variable value
  2. primitive value
  3. index value
  4. array value




5. perhatikan baris program berikut ini :


Output dari program di atas
  1. Error krn pernyataan x[4][4]
  2. Error krn pernyataan x[0][0]
  3. Outputnya 1 dan tidak didefinisikan (acak)
  4. Outputnya acak dan nilai 1

6. Didefinisikan sebuah struct  sebagai berikut :

     struct karyawan
     {
        char nik[20];
        char nama [30];
        float gaji;
      };
    karyawan k1,k2 ;
  
   pernyataan berikut ini yang tidak valid sesuai dengan definisi struct diatas adalah :
  1. k1.nama =”budi”;
  2. karyawan.gaji =1000000;
  3. k2.gaji=1000000;
  4. karyawan = k3;

7. Berikut ini pernyataan yang benar mengenai array
  1. ukuran array statis selama program dijalankan
  2. index array boleh dimulai dari angka 1
  3. array 1 dimensi di alamati dengan 1 index saja
  4. array bisa menampung data dengan tipe yang berbeda-beda.




Soal Uraian :
Soal 1

Buatlah program untuk mencari faktor perkalian dari sebuah bilangan integer yang dimasukkan. Faktor perkalian tadi harus disimpan dalam sebuah array. Sebagai contoh jika diinputkan nilai 20, maka outputnya adalah :
1
2
4
5
10
20

Soal 2
Didefinisikan objek karyawan memiliki field :
Nomor Induk Karyawan
Nama Karyawan
Tempat Tanggal Lahir
Alamat
Adapun field Tempat Tanggal Lahir memiliki field kota, tanggal, bulan dan tahun. Dan field alamat memiliki field jalan, no, kota dan kode pos. Buatlah variabel struct yang mengimplementasikan struktur objek karyawan tersebut ¡













Minggu, 06 April 2014

SET Instruksi

SET Instruksi
Apa set instruksi itu?
ž  Set instruksi (instruction set): sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU
ž  Disebut juga machine code (bahasa mesin), aslinya juga berbentuk biner à bahasa assembly
ž  Untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti à bahasa yang dapat dimengerti manusia

Elemen-elemen Instruksi
ž  Operation code (Op code)
  Kerjakan ini
ž  Source Operand reference
  Terhadap isi alamat ini
ž  Result Operand reference
  Letakkan hasilnya di alamat ini
ž  Next Instruction Reference
  Kalau sudah selesai, selanjutnya kerjakan alamat ini

Dalam sebuah instruksi, tidak harus semua elemen ini dicantumkan, tergantung kebutuhan dan jenis instruksinya

Ke mana operand disimpan?
ž  Ingat: Semua instruksi dijalankan dalam CPU
ž  Rata-rata operasi hanya membutuhkan register sebagai tempat membaca / menyimpan operand
ž  Adakalanya juga register tidak berisi operand tapi menunjuk ke tempat penyimpanan lainnya (memory, cache, modul I/O
Representasi Instruksi
ž  Pada bahasa mesin, setiap instruksi berbentuk pola bit biner yang unik
ž  Agar dapat dimengerti manusia, dibuatlah representasi simbolik instruksi, biasanya berupa singkatan (disebut mnemonic)
  misal ADD, SUB, LOAD
ž  Sedangkan alamat operand direpresentasikan sebagai berikut:
  ADD A,B
ž  Ada beberapa jenis representasi instruksi, tergantung dari jumlah alamat operand yang bisa diolah oleh satu instruksi



Contoh Simbolik Instruksi
ž  ADD: Add (Jumlahkan)
ž  SUB: Subtract (Kurangkan)
ž  MPY/MUL: Multiply (Kalikan)
ž  DIV: Divide (Bagi)
ž  LOAD: Load data dari register/memory
ž  STOR: Simpan data ke register/memory
ž  MOVE: pindahkan data dari satu tempat ke
ž  tempat lain
ž  SHR: shift kanan data
ž  SHL: shift kiri data

Cakupan Jenis Instruksi
ž  Data processing: Aritmetik (ADD, SUB, dsb); Logic (AND, OR, NOT, SHR, dsb); konversi data
ž  Data storage (memory): Transfer data (STOR, LOAD, MOVE, dsb)
ž  Data movement: Input dan Output ke modul I/O
ž  Program flow control: JUMP, HALT, dsb.

Format Instruksi 3 Alamat
ž  Bentuk umum: [OPCODE] [AH], [AO1], [AO2]
ž  Satu alamat hasil, dua alamat operand
ž  Misal: SUB Y, A, B
                - Bentuk algoritmik: Y à A – B
                - Arti: Kurangkan isi Reg A dengan isi Reg B, kemudian simpan hasilnya di Reg Y.
ž  Bentuk ini tidak umum digunakan di komputer
ž  Mengoperasikan banyak register sekaligus
ž  Program lebih pendek

Format Instruksi 2 Alamat
ž  Bentuk umum: [OPCODE] [AH], [AO]
ž  Satu alamat hasil merangkap operand, satu alamat operand
ž  Misal: SUB Y, B
                - Bentuk algoritmik: Y à Y – B
                - Arti: Kurangkan isi Reg Y dengan isi Reg B,
          kemudian simpan hasilnya di Reg Y.
ž  Bentuk ini masih digunakan di komputer sekarang
ž  Mengoperasikan lebih sedikit register, tapi panjang program tidak bertambah terlalu banyak


Format Instruksi 1 Alamat
ž  Bentuk umum: [OPCODE] [AO]
ž  Satu alamat operand, hasil disimpan di accumulator
ž  Misal: SUB B
                - Bentuk algoritmik: AC ß AC – B
                - Arti: Kurangkan isi Acc. dengan isi Reg B,
                 kemudian simpan hasilnya di Acc.
ž  Bentuk ini digunakan di komputer jaman dahulu
ž  Hanya mengoperasikan satu register, tapi program menjadi bertambah panjang


Format Instruksi 0 Alamat
ž  Bentuk umum: [OPCODE]
ž  Semua alamat operand implisit, disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack paling atas dan di bawahnya
ž  Misal: SUB
                - Bentuk algoritmik: S[top] à S[top-1] – S[top]
                - Arti: Kurangkan isi Stack no.2 dari atas dengan isi Stack paling atas,kemudian simpan hasilnya di Stack paling atas
ž  Ada instruksi khusus Stack: PUSH dan POP

Contoh Format Instr 3 Alamat
ž  A, B, C, D, E, T, Y adalah register
ž  Program: Y = (A – B) / ( C + D × E)
SUB        Y, A, B                   Y ß A – B
MPY       T, D, E                    T ß D × E
ADD       T, T, C                    T ß T + C
DIV         Y, Y, T                    Y ß Y / T
Contoh Format Instr 2 Alamat
ž  A, B, C, D, E, T, Y adalah register
ž  Program: Y = (A – B) / ( C + D × E)
MOVE         Y, A                        Y ß A
SUB              Y, B                         Y ß Y - B
MOVE         T, D                        T ß D
MPY             T, E                         T ß T × E
ADD             T, C                         T ß T + C
DIV               Y, T                         Y ß Y / T

Contoh Format Instr 1 Alamat
ž  A, B, C, D, E, Y adalah register
ž  Program: Y = (A – B) / ( C + D × E)
LOAD     D                             AC ß D
MPY       E                              AC ß AC × E
ADD       C                             AC ß AC + C
STOR     Y                              Y ß AC
LOAD     A                             AC ß A
SUB        B                             AC ß AC – B
DIV         Y                              AC ß AC / Y
STOR     Y                              Y ß AC
Contoh Format Instr 0 Alamat
ž  A, B, C, D, E, Y adalah register
ž  Program: Y = (A – B) / ( C + D × E)
PUSH   A                             S[top] ß A
PUSH   B                             S[top] ß B
SUB                                      S[top] ß A - B
PUSH   C                             S[top] ß C
PUSH   D                             S[top] ß D
PUSH   E                              S[top] ß E
MPY                                     S[top] ß D × E
ADD                                     S[top] ß C + S[top]
DIV                                       S[top] ß (A - B) / S[top]
POP     Y                              Out ß S[top]

Yang Perlu Diperhatikan
ž  Semakin banyak register yang diolah dalam satu instruksi à semakin lambat
ž  Semakin banyak baris operasi untuk mengeksekusi sebuah program à juga semakin lambat
ž  Oleh karena itu, CPU masa kini bisa dikatakan menggunakan perpaduan dari beberapa format instruksi, tergantung konteksnya

Latihan
ž  Kerjakan
ž  X = (A + B × C) / (D – E × F)
ž  X = (A + B × C) *(D – E × F)
ž  X = (A + B × C) +(D – E × F)
ž  X = (A + B × C) - (D – E × F)
ž   
ž  Masing-masing dengan:
ž  Format Instruksi 3 Alamat
ž  Format Instruksi 2 Alamat
ž  Format Instruksi 1 Alamat
ž  Format Instruksi 0 Alamat


Salah satu atau salah dua dari 4 soal Latihan di atas Insya Alloh akan digunakan untuk materi soal Ujian Tengah Semester. Silahkan gunakan waktu dan kesempatan sebelum UTS ini untuk mempelajarinya. Ok. J