Tampilkan postingan dengan label Komputer. Tampilkan semua postingan
Tampilkan postingan dengan label Komputer. Tampilkan semua postingan

Jumat, 04 Agustus 2017

Jurnal Tentang Pengertian Teknologi

Pengertian teknologi dapat dijabarkan dalam beragam makna. Setiap orang yang mengenal teknologi akan mengartikannya sesuai dengan latar belakang pemikirannya saat mempelajari teknologi ini. Lalu bagaimana definisi teknologi menurut beberapa orang?

Berikut ini kami sajikan kutipan mengenai pengertian teknologi / definisi teknologi dari beberapa jurnal dan referensi online.


Teknologi adalah alat bantu manusia untuk mencapai tujuan. Teknologi diciptakan untuk mempermudah atau memperlancar suatu pekerjaan. Alat dalam suatu teknologi dapat berupa perangkat baik itu perangkat keras maupun perangkat lunak.

Purwanto H., 2009. TEKNOLOGI PENGOLAH HASIL PERTANIAN. Jurnal Mediagro. VOL 5. NO 1, 2009: HAL 15 - 19.

Sumber : https://publikasiilmiah.unwahas.ac.id/index.php/Mediagro/article/download/891/1003


Teknologi adalah manifestasi dari imajinasi manusia tentang sebuah dunia yang lebih baik. Melalui teknologi manusia membangun masa depan kebudayaan dan kehidupan mereka. Perkembangan teknologi tidak saja ditentukan oleh nilai-nilai budaya yang ada, tetapi ia justru dapat membentuk budaya-budaya baru: budaya media, budaya informasi atau budaya virtual.

Pilalang Y.A., 2013. BUDAYA TEKNOLOGI DI INDONESIA: KENDALA DAN PELUANG MASA DEPAN. Jurnal Sosioteknologi Vol 12, No 28.

Sumber : http://journals.itb.ac.id/index.php/sostek/article/view/1105


Kata Teknologi seringkali oleh masyarakat diartikan sebagai alat elektronik. Tapi oleh ilmuwan dan ahli filsafat ilmu pengetahuan diartikan sebagai pekerjaan ilmu pengetahuan untuk memecahkan masalah praktis. Jadi teknologi lebih mengacu pada usaha untuk memecahkan masalah manusia.

Andri R.M., 2017. PERAN DAN FUNGSI TEKNOLOGI DALAM PENINGKATAN KUALITAS PEMBELAJARAN. Jurnal Ilmiah Research Sains VOL. 3. NO. 1 Februari 2017.

Sumber : http://www.jurnalmudiraindure.com/wp-content/uploads/2017/04/PERAN-DAN-FUNGSI-TEKNOLOGI-DALAM-PENINGKATAN-KUALITAS-PEMBELAJARAN.pdf


Bagi kebanyakan orang, teknologi hanya berupa komputer, software atau kapal terbang namun sebenarnya teknologi itu lebih dari itu semua. Teknologi merupakan inti dari sebuah ilmu pengetahuan dan pengetahuan inilah yang dapat digunakan dalam kegiatan dan kehidupan manusia sehari-hari.

Noor I.H.M., 2011. Pemanfaatan Ilmu Pengetahuan dan Teknologi Dalam Kegiatan Pengabdian Masyarakat di Perguruan Tinggi. Jurnal Pendidikan dan Kebudayaan, Vol. 17, Nomor 3, Mei 2011.

Sumber : http://jurnaldikbud.kemdikbud.go.id/index.php/jpnk/article/download/27/25


Tidak dapat dipungkiri dalam mekanisme manajemen perubahan, teknologi mengambil peran yang sangat penting dalam percaturan peradaban. Banyak orang mengartikan teknologi itu sebagai suatu alat yang canggih yang berkaitan dengan mesin, proses mekanistik ataupun seperti alat elektronik dan sejenis.

Mawardi I., 2012. ICT (Information And Communication Technology) Sebagai Wahana Transformasi Pendidikan. Jurnal Fakultas Agama Islam Vol 3, No 1

Sumber : http://id.portalgaruda.org/?ref=browse&mod=viewarticle&article=114626


Menurut Iskandar Alisyahbana (1980) Teknologi telah dikenal manusia sejak jutaan tahun yang lalu karena dorongan untuk hidup yang lebih nyaman, lebih makmur dan lebih sejahtera. Jadi sejak awal peradaban sebenarnya telah ada teknologi, meskipun istilah “teknologi” belum digunakan. Istilah “teknologi” berasal dari “techne “ atau cara dan “logos” atau pengetahuan. Jadi secara harfiah teknologi dapat diartikan pengetahuan tentang cara. Pengertian teknologi sendiri menurutnya adalah cara melakukan sesuatu untuk memenuhi kebutuhan manusia dengan bantuan akal dan alat, sehingga seakan-akan memperpanjang, memperkuat atau membuat lebih ampuh anggota tubuh, pancaindra dan otak manusia

Yap, itu tadi beberapa jurnal mengenai pengertian teknologi / definisi teknologi. Kalian bisa memeriksa kutipannya dari sumber link yang sudah disertakan. Mudah-mudahan makalah/karya tulis/laporan/skripsi/apapun;-nya cepat kelar ya :)
Read more

Rabu, 28 Desember 2016

Memahami Istilah Abstraction Layer dengan Analogi Sederhana

Abstraction layer?  Saya mengartikan abstraction layer sebagai lapisan-lapisan antar muka yang berguna menyembunyikan kerumitan dalam beragamnya perbedaan dan mengambil beberapa persamaan dalam berbagai macam perbedaan.

Misalnya: Jalan-jalan.  Kata jalan-jalan terdengar implisit. Kemanapun arahnya, itulah yang namanya jalan-jalan. Setelah yakin memutuskan untuk pergi, ada beberap opsi yang bisa dipilih, jalan-jalan ke jakarta, jalan jalan ke surabaya, jalan-jalan ke semarang, ataupun ke kota lainnya. Jika kita sudah memilih jalan-jalan ke Surabaya, misalnya; kita selanjutnya memilih opsi transportasi. Misalnya dengan sepeda atau dengan kereta.

Ungkapan di atas adalah sebuah analogi sederhana untuk abstraction layer. Contoh abstraction layer yang sering kita temui adalah dalam manajemen file. Di antara beragam jenis file, filesystem dan media penyimpanan yang digunakan; kita dapat menyalin data melalui file manager dengan cara yang sama; meskipun sumber dan tujuan data memiliki properti yang berbeda. Ini berkat abstraction layer.
file abstraction layer

Ilustrasi di atas menunjukkan bagaimana proses akses file bekerja dengan alur kerja yang berbeda. Pertaama, Proses baca file melalui layer filesystem. Bisa diibaratkan FAT dan NTFS adalah  objek yang sama-sama merupakan turunan class filesystem. Semua filesystem memiliki method bacaFile(), namun tiap filesystem memiliki implementasinya sendiri-sendiri.

Dibawahnya lagi, layer filesystem harus berkomunikasi dengan layer disk I/O. Baik floppy ataupun CD adalah turunan class disk yang memiliki method bacaData() dengan implementasinya sendiri-sendiri pula.
Read more

Minggu, 25 Desember 2016

Belajar Assembly MIPS / PIC32 Dengan MARS Simulator

Prosesor MIPS adalah pioner dari arsitektur prosesor RISC. Ia pernah berjaya di era 90-an di mana industri prosesor sedang gencar-gencarnya melakukan riset. Akan tetapi sekarang ini seperti mulai turun pamornya. Meski demikian MIPS memiliki kelebihan tersendiri, terutama dalam hal kesederhanaannya. Beberapa referensi juga mengatakan bahwa harga jual MIPS di pasaran relatif terjangkau. Tidak hern, di luar sana, MIPS banyak digunakan sebagai bahan riset dan penelitian akademisi dan peneliti. Untuk itu saya mulai tertarik dengan arsitektur prosesor ini.

Kenampakan prosesor MIPS
Grafik market share prosesor

Arsitektur MIPS juga diproduksi oleh industri semikonduktor lain, misalnya Microchip dengan PIC32 nya. Jadi, jika kalian mencoba development board PIC32, misalnya; kalian akan merasakan sensasi yang sama dengan menulis program untuk MIPS. Hal ini sama halnya dengan AMD yang membeli lisensi Intel untuk memproduksi varian prosesor dengan arsitektur serupa Intel. Cukup di sini basa-basinya. Langsung saja kita mulai bahasannya.

Untuk belajar assembly MIPS, saya sarankan menggunakan simulator MARS. Ini lebih baik dari pada praktik langsung dengan komputer asli berinti MIPS. Dengan simulator, kita bisa lebih mudah melacak dan melihat bagaimana nilai tiap register berubah seiring dengan berjalannya instruksi.

mips mars simulator
Download : http://courses.missouristate.edu/KenVollmar/mars/download.htm

Register
Arsitektur RISC umumnya lebih banyak beroperasi dengan register. Oleh karena itu, arsitektur MIPS dibilang arsitektur register-to-register. Jumlah registernya lebih banyak dari arsitektur CISC, namun memiliki jumlah instruksi yang terbatas. Jika dibandingkan dengan Intel, maka akan terlihat perbandingan yang jauh.


Conventional NameUsage
$0$zeroHard-wired to 0. Apapun yang kita baca dari sini akan selalu 0.
$1$atReserved for pseudo-instructions
$2 - $3$v0, $v1Return values from functions. Digunakan sebagai alamat return dalam pemanggilan fungsi/prosedur.
$4 - $7$a0 - $a3Arguments to functions - not preserved by subprograms. Menyimpan argumen fungsi.
$8 - $15$t0 - $t7Temporary data, not preserved by subprograms. Bisa digunakan dengan bebas, untuk keperluan apapun.
$16 - $23$s0 - $s7Saved registers, preserved by subprograms. Bisa digunakan bebas juga, namun setelah digunakan oleh sebuah fungsi, fungsi tersebut harus mengembalikan nilai register ke nilai semula. Kenapa demikian? anda akan tahu nanti.
$24 - $25$t8 - $t9More temporary registers, not preserved by subprograms. Bebas digunakan juga.
$26 - $27$k0 - $k1Reserved for kernel. Do not use. Hanya sistem operasi yang boleh menangani dan menggunakan nilai ini. Sementara, kita abaikan register ini.
$28$gpGlobal Area Pointer (base of global data segment). Untuk menunjuk alamat data area.
$29$spStack Pointer. Untuk menunjuk memori stack.
$30$fpFrame Pointer. Biasanya dimanfaatkan untuk menyimpan nilai $sp saat penanganan fungsi.
Sumber: http://www.cs.uwm.edu/classes/cs315/Bacon/Lecture/HTML/ch05s03.html
Selain register di atas, ada pula register hi dan lo yang berperan dalam operasi perkalian dan pembagian. Semuanya itu adalah register dasar yang harus diketahui. Setelah mengetahui ini, nanti kita akan membahas register coprocessor.






Instruksi
Syntax
INSTRUKSI [operand1], [operand2], [operand3]
Sebuah instruksi dapat ditulis tanpa operand, atau dengan operand hingga maksimal 3 operand. Operand dapat berupa register, nilai konstan (immediate), atau label yang merepresentasikan alamat suatu data.

label:
#komentar
Label diindikasikan dengan titik dua yang mengikuti nama label. Dan, komentar ditulis dengan prefix #.

.word
.set ...
Direktif adalah kode yang menginstruksikan assembler untuk melakukan sesuatu, diawali dengan simbol titik sebelum kode direktif. Untuk melihat dftar direktif, lihat menu Help di MARS.

Format
Sama seperti arsitektur RISC lain, MIPS menyederhanakan eksekusi dengan membatasi ukuran tiap instruksi. Seluruh instruksi di MIPS akan selalui berukuran 32 bit (4 byte). Setiap instruksi akan dijalankan dalan waktu yang sama, yaitu satu siklus waktu CPU. Berbeda dengan arsitektur CISC yang memiliki panjang instruksi dan waktu eksekusi berbeda-beda tiap instruksinya.





Gambar di atas menunjukkan beberapa macam varian format instruksi MIPS. Varian pertama (R) digunakan pada instruksi untuk memproses data dari 3 parameter register. Misalnya instruksi ADDU, SUBU, OR, AND.

addu $t0, $t1, $t2

# ADDU rd,rs, rt
# $t0 = $t1 + $t2)

Opcode (op) ADDU adalah 100001b. Sesuai tabel register di atas, register $t0 bernomor 8 (01000b) berperan sebagai rd, register $t1 bernomor 9(01001b) berperan sebagai rs, dan register $t2 bernomor 9 (01010b) berperan sebagai rt. Nilai shamt 0, nilai ini hanya digunakan untuk instruksi bit shift. Terakhir, instruksi ADDU memiliki nilai variant funct 100001. Dari penjabaran ini, maka diperoleh hasil decode instruksi:
100001 01000 10111 01010 00000 100001

Varian berikutnya adalah varian untuk mengolah data dari register dan nilai immediate (I). Immediate adalah sebutan untuk nilai konstan yang diberikan secara langsung untuk diproses oleh instruksi. Contoh instruksi immediate adalah LUI, ADDI, SUBI, SUBIU, ORI, ANDI.

subiu $t0,$t1,100
# SUBIU rd, rs, immediate
# $t0 = $t1 + 100

Meski MIPS memiliki varian prosesor  berarsitektur 32-bit dan 64-bit, instruksinya terbatas untuk meload instruksi immediate. Dalam instruksi yang mengolah nilai immediate, nilai maksimum yang diperbolehkan hanyalah sebesar 16-bit (0 - 65535). Oleh karena itu, saat ingin meload nilai immediate 32-bit, kita perlu menggunakain instruksi LUI (Load Upper Immediate).

#load nilai 0x00A12B78
lui $t1, 0x00A1
addi $t1, $t1, 0x2B78
# $t1 = 0x00A10000 + 0x00002B78

Terakhir, varian J digunakan untuk instruksi jump dan branching. Target address yang digunakan bersifat relatif terhadap posisi instruksi tersebut. Karena bernilai 26 bit, maka instruksi ini dapat melompat ke instruksi yang jauhnya 33.554.430 byte ke kiri atau ke kanan. Contoh instruksi dalam kelompok ini adalah J, B dan JAL.
label:
...
j label
# J label

Referensi :
- https://en.wikibooks.org/wiki/MIPS_Assembly/Instruction_Formats#I_Format
- http://alumni.cs.ucr.edu/~vladimir/cs161/mips.html

Pseudo instruction
Karena keterbatasan instruksi MIPS, beberapa instruksi harus ditulis untuk melakukan satu tahap pekerjaan yang terbilang sederhana, sehingga cenderung terlihat kompleks. Oleh karena itu, MIPS dan prosesor RISC lainnya menyediakan dukungan pseudo instruction pada assemblernya. Beberapa contoh pseudo-instruction antara lain:

Branch if less than (blt)
The blt instruction compares 2 registers, treating them as signed integers, and takes a branch if one register is less than another.
blt $8, $9, label

diterjemahkan menjadi:
slt $1, $8, $9
bne $1, $0, label


Load Immediate (li)
The li pseudo instruction loads an immediate value into a register.
li $8, 0x3BF20

diterjemahkan menjadi:
lui $8, 0x0003
ori $8, $8, 0xBF20


Move (move)
The move pseudo instruction moves the contents of one register into another register.
move $1, $2

diterjemahkan menjadi:
add $1, $2, $0

Load Address (la)
la $a0,address

diterjemahkan menjadi:
lui $at, %hi(address)
ori $a0,$at,%lo(address)

Ayo Belajar
Tips : aktifkan pseudo instruction melalui settings simulator MARS. Untuk melihat daftar instruksi lihat menu Help.

Operasi matematika dasar (pi-po-lon-do) --IYKWIM
Misalnya kita inin menambahkan nilai 100 + 100 instruksinya seperti ini
li $t0, 100
addiu $t0, $t0, 100


Selain ADDIU, ada juga ADDU, ADDI dan ADD. Apa bedanya?
Pada dasarnya semuanya berguna untuk menambah nilai hnya saja terdapat perbedaan behavior pada implementasinya. instruksi yang memiliki mnemonic tambahan U, seperti ADDIU (Add immediate without overflow), akan mengabaikan adanya overflow. Saya belum tahu pada prakteknya seperti apa. Menurut dokumentasi, ketika terjadi overflow akan memicu prosesor untuk menghasilkan exception. Nah, pertanyaannya, apakah sistem operasi akan menangani exception ini, ataukan mengakhiri program yang menghasilkan exception?

Perkalian dan pembagian sedikit berbeda dengan instruksi matematika biasa. Jika menggunakan instruksi pseudo, perkalian cukup sederhana:

mul $t0, $t1, $t2
# $t0 = $t1 x $t2

Sebenarnya, jika diterjemahkan, instruksi perkalian dan pembagian akan melibatkan register hi dan lo. Instruksi non-pseudo berikut akan mengalikan $t0 dan $t1. Lalu, dimanakah hasilnya?
mult $t0,$t1

Hasilnya disimpan pada register lo. Apabila hasil perkalian menghasilkan lebih dari batasan nilai 32 bit, sejumlah 32 bit tertinggi akan disimpan pada register hi. Untuk mengakses kedua register ini kita bisa menggunakan instruksi mfhi, mflo, mthi, mtlo (move from hi, move from lo, move to hi, move to lo).

Untuk instruksi pembagian, perlakukan register hi dan lo sedikit berbeda. Hasil pembagian akan disimpan pada register lo, dan apabila pembagian bersisa, sisa tersebut berada pada register hi.
li $t0,1000
li $t0,10
div $t0,$t1
#simpan hasil ke $t3
mflo $t3
#simpan sisa ke $t4
mfhi $t4



Macam Data dan Cara Mengaksesnya
MIPS mengenal 3 macam data: byte (8 bit), halfword(16 bit) dan word (32 bit). Ingat, MIPS berarsitektur register-to-register, jadi kita tidak bisa langsung mengoperasikan data tersebut, ya. Nilai data tersebut pertama-tama harus diload ke register. Ada beberapa instruksi yang berguna untuk meload dan menyimpan (store) data:
LB (Load Byte)
LH (Load Halw-word)
LW (Load Word)
SB (Store Byte)
SH (Store Half-word)
SW (Store Word)

Untuk mendeklarasikan data, gunakan direktif .byte, .half, atau .word; dengan diawali label sebagai nama data tersebut. Perlu diketahui juga, penempatan instruksi dan data harus terpisah. Dari MARS, tersedia direktif .text sebagai indikasi awal instruksi dan .data sebagai indikasi awal bagian menampung data.

.text
    #load nilai dataA ke $t0, tambah dengan 100
    #hasilnya simpan ke dataB
    lw $t0,dataA
    addiu $t0,$t0,100
    sw $t0,dataB

.data
    dataA:
    .word 100

    dataB:
    .word 0


Jump dan Branch
Instruksi dasar lainnya yang akan dibahas adalah mengenai jump dan branch. Tujuan instruksi ini adalah untuk melompat ke segmen instruksi tertentu. Ada 2 macam instruksi yang perlu diketahui.

Uncoditional jump/branch
Unconditional jump/branch dilakukan secara langsung untuk melompat ke suatu instruksi. Instruksi semacam ini misalnya J, B, JAL, JALR.
main:
    j exit:
    ...

exit:
    ...
 
Conditional branch
Conditional jump adalah instruksi yang bekerja ketika suatu kondisi ditemukan benar. Misalnya BEQ (Branch if Equal), BGEZ (Branch if Greater or Equal to Zero), dll. Selengkapnya lihat menu Help,ya.
main:
    li $t0,1
    li $t1,2
    #lompat ke label 'sama', jika $t0 == $t1
    beq $t0,$t1,sama
beda:
    ...
sama:
    ...


Ternyata instruksi MIPS tidak kalah kerennya dengan instruksi Intel, ya. Yang membuat lebih keren, MIPS tergolong arsitektur RISC, jadi jumlah instruksinya sedikit. Meski jumlah registernya lebih banyak dari CISC, semua registernya mudah diingat, tak masalah.

Mungkin sampai disini dulu belajarnya, nanti disambung lain waktu. Terima kasih sudah membaca. See youu later...

Read more

Jumat, 23 Desember 2016

Pengertian Interrupt, Exception, Trap, Fault, IRQ dan Abort

interrupt, traps, fault, exception

Interrupt adalah suatu mekanisme prosesor dimana saat hal tersebut terjadi, prosesor akan menunda proses eksekusi. Setiap interrupt akan memiliki kode instruksi handler yang harus disediakan oleh sistem operasi. Kode instruksi ini bekerja layaknya fungsi subrutin biasa. Ia akan dipanggil sesuai dengan jenis sumber interrupt yang telah dikonfigurasikan oleh sistem operasi.

Pada dasarnya, interrupt sama saja seperti peristiwa pemanggilan fungsi biasa, layaknya saat melompat ke suatu prosedur dari fungsi main().

int main(){
function_to_call()
}

Bedanya, interrupt terjadi secara tak terduga dan tidak dapat dikontrol oleh program. Meskipun demikian, sistem operasi masih dapat mengontrol laju kerja interrupt jika dikehendaki demikian.

Seluruh pekerjaan program pada dasarnya merupakan proses matematis yang diatur jalannya oleh instruksi. Hasil pekerjaan yang diproses oleh program tersimpan dalam register. Oleh karena itu, kita tidak boleh membiarkan isi dari register ini termodifikasi oleh pihak lain, salah satunya adalah interrupt. Interrupt menyebabkan register instruction pointer (IP) atau program counter (PC) berpindah ke lokasi dimana interrupt handler berada. Yang bertugas menyediakan fungsi handler untuk seluruh interrupt adalah sistem operasi.

Seperti program lain, untuk bekerja, interrupt handler tentu membutuhkan register. Kita ingat bahwa konten register ini adalah bagian kerja dari program yang terinterupsi sebelumnya. Apabila termodifikasi sedikit saja, dapat dipastikan hasil kerja program menjadi tidak valid lagi. Jadi, sebuah interrupt handler perlu menyimpan konten seluruh register sebelum melakukan sesuatu, misalnya ke dalam stack.

Sebuah prosedur yang ditulis dengan bahasa pemrograman manapun, memiliki pola kerja yang sama. Jika direpresentasikan dalam bahasa assembly, semua prosedur dipanggil dengan cara yang sama, yaitu dengan instruksi CALL. Saat instruksi ini terjadi, sebenarnya prosesor menaruh nilai alamat Instruction Pointer(IP) ke stack dan melakukan jump(JMP) ke lokasi fungsi. Anda akan tahu tujuannya setelah membaca penjelasan selanjutnya.

Setiap prosedur, bagaimanapun bentuknya juga akan memiliki akhiran instruksi yang sama, yaitu RET. Instruksi RET berguna mengembalikan nilai IP yang baru saja ditaruh oleh pemanggil fungsi melalui instruksi CALL. Dengan cara seperti inilah prosesor bisa tahu dimana ia harus kembali setelah eksekusi sebuah fungsi telah selesai.

C:
MyProc(){
...
return;
}
Caller(){
MyProc();
}

ASM:
MyProc:
...
ret



Caller:
call MyProc

Bagaimana dengan interrupt? Mekanismenya masih sama, kok. Tapi, konten yang berada di dalam stack sedikit lebih banyak. Saat interrupt terjadi, prosesor melompat ke interrupt handler, sambil menaruh 3 buah data konten register yang berbeda ke dalam stack:
EFLAGS
CS
EIP

Lalu, bentuk fungsi handler interrupt tidak lagi menggunakan instruksi RET, ya. Untuk menyelesaikan eksekusi, handler menggunakan instruksi IRET. Instruksi ini akan mengembalikan konten ketiga register di atas ke posisi semula, bersamaan dengan kembali ke lokasi dimana program mulai terinterupsi.
Umumnya, interrupt handler akan menaruh konten general purpose register sebelum mulai bekerja dan mengembalikannya saat telah selesai. Dengan demikian, state kondisi kerja program yang terinterupsi tetap valid.

MyInterruptHandler:
pusha
...
popa
iret


Macam Interrupt
Ada beberapa kelompok besar interrupt yang biasa dikenal. Setiap jenisnya memiliki tingkah laku dan sumber pemicu yang berbeda.

1. Exception, yaitu interrupt yang dihasilkan oleh prosesor ketika terjadi kesalahan pada prosesor, karena eksekusi instruksi yang tidak dibenarkan kegunaannya, atau juga bisa karena prosesor menjalankan instruksi yang memang disediakan untuk menghasilkan exception secara disengaja. Exception itu sendiri dapat dibagi menjadi 3 macam:

  • Trap: Interupsi yang disengaja dengan menjalankan instruksi trap. Biasanya kondisi ini dimanfaatkan oleh sistem operasi untuk tujuan debugging.
  • Fault: Dipicu oleh kesalahan operasi yang dilakukan oleh prosesor. Seringkali interrupt dalam golongan ini muncul akibat eksekusi instruksi yang tidak valid. Dalam kondisi fault, sistem operasi biasanya masih dapat melakukan perbaikan dan melanjutkan eksekusi instruksi selanjutnya. Jika tidak memungkinkan, program yang menimbulkan fault harus diakhiri segera.
  • Abort: Timbul akibat kesalahan fatal prosesor yang sudah tidak dapat ditangani. Bisa disebabkan karena kerusakan, atau karena beberapa kesalahan fault yang seharusnya tidak dibiarkan.


2. Interrupt Request(IRQ), seringkali disebut sebagai hardware interrupt. Munculnya dipicu oleh peripheral device yang terhubung dengan jalur interupsi prosesor. Biasanya IRQ muncul saat hardware membutuhkan penanganan dari prosesor. Misalnya, ketika mouse digerakkan, ia akan mengirimkan interupsi untuk memberitahukan bahwa ada event yang sedang terjadi pada mouse. Dalam handler IRQ, terdapat deretan instruksi untuk melakukan transaksi data dengan hardware penghasil interrupt, melalui port. Setiap hardware yang dapat meghasilkan interupsi akan memiliki jalur interrupt yang berbeda dengan tujuan interupsi beragam. Jika ingin mengetahuinya secara detail, kita perlu membaca dokumen spesifikasi yang terkait dengan hardware tersebut.

3. Software Interrupt, yaitu interrupt yang dihasilkan oleh software. Biasanya digunakan untuk tujuan komunikasi antara user space program dan kernel. Di Intel, software interrupt dapat dihasilkan dengan instruksi INT x, dimana x adalah nomor interrupt handler yang akan dipanggil.
Read more

Perbedaan Port-Mapped I/O dan Memory-Mapped I/O

cpu board

Komunikasi data antara prosesor dan peripheral device dapat dilakukan dengan 2 cara, yaitu MMIO dan PMIO. Intel adalah salah satu proseesor yang lebih banyak menggunakan metode PMIO. Sedangkan MIPS dan ARM hanya mendukung satu macam metode transaksi data, yaitu menggunakan metode MMIO saja.

Dalam MMIO, jalur komunikasi bus terhubung bersama dengan jalur komunikasi bus untuk transaksi data dengan memori RAM. Sehingga, untuk dapat bekerja dengan adil, tidak boleh ada device yang memiliki alamat yang serupa dengan salah satu alamat yang diduduki oleh RAM. Untuk mengakses data dari device, prosesor tidak menyediakan satupun instruksi khusus. Ini karena, baik RAM ataupun device akan memiliki address space yang sama. Dengan kata lain, device bisa diakses seperti mengakses memori biasa.

Metode PMIO masih menggunakan sistem komunikasi bus yang sama, seperti MMIO, hanya saja prosesor yang menerapkan PMIO wajib menyediakan jalur bus tambahan yang terpisah dengan jalur bus untuk transaksi data dengan RAM. Kalau dilihat, Intel memiliki jumlah pin lebih banyak dari MIPS, ini karena ia butuh sambungan untuk melakukan transaksi PMIO.

Ekspansi jalur bus ini ditujukan khusus untuk transaksi data dengan peripheral device. Untuk itu, prosesor yang menerapkan PMIO perlu menyediakan instruksi khusus untuk melakukan transaksi data dengan device. Misalnya Intel. Ia menyediakan instruksi IN untuk mengambil data dari device dan OUT untuk mengirim data ke device.
memory mapped io vs port mapped io

Kiri: MMIO, Kanan : PMIO
Read more

Bagaimana Cara Prosesor dan Hardware Berkomunikasi?

Prosesor adalah pusat dari aktivitas komputer, dimana semua data diproses sedemikian rupa. Data yang perlu diproses oleh prosesor berasal dari salah satu peripheral device yang berperan sebagai input, misalnya keyboard, mouse dan camera. Hasil dari proses kemudian diteruskan ke salah satu peripheral deice yang berperan sebagai output. Ada banyak peripheral device yang terhubung oleh komputer, alur berjalannya data diatur oleh komputer namun, alamat tujuan/sumber device tetap diatur oleh program.

Karena ada banyak device yang terhubung dengan satu buah prosesor, diperlukan sebuah metode untuk mengatur ke alamat device manakah data harus di transfer. Oleh karena itu, komunikai data yang terjadi pada komputer secara abstrak dilakukan melalui system bus. System bus terdiri atas 3 macam sirkuit:
1. Address bus
2. Data bus
3. Control bus
system bus

Saat terjadi transaksi data dari komputer, prosesor mengirimkan data tersebut melalui data bus. Alamat tujuan data tersebut ditentukan oleh address bus. Dan, control bus akan menunjukkan sinyal dari prosesor bahwa ia perlu mengirim data. Saat ketiga jenis data ini terkirim, setiap device akan memeriksa apakah alamat yang dimaksud oleh prosesor tersebut adalah alamat yang tergolong dalam wilayah areanya atau bukan. Jika ia, maka ia akan mengambil data dari data bus dan menyimpannya pada memori internal yang sudah ditugaskan untuk menyimpan data pada alamatnya masing-massing.

Sementara itu, pembacaan data dari device tidak jauh berbeda. Transaksi dimulai dengan mengirim alamat sumber dan sinyal control bus untuk memulai tranaksi pembacaan data. Setelah alamat diketahui oleh salah satu device yang sesuai, ia akan mengirim data yang diminta ke data bus.

Ilustrasinya bisa dilihat pada gambar berikut.
Address bus ditujukkan oleh pin berlabel Addr x, Data bus terlihat berlabel Data x. Sedangkan Control bus terdiri atas IOR(I/O Read), IOW(I/O Write), MEMR dan MEMW. Contoh ini adalah contoh bus 8-bit, komputer sekarang kebanyakan memiliki lebar bus 32 bit atau 64-bit, jadi jelas lebih banyak dari ini.

Read more

Minggu, 18 Desember 2016

Perbedaan RISC dan CISC : Studi Kasus Intel dan MIPS


RISC singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk mengeset instruksi dalam komunikasi diantara arsitektur yang lainnya. Proyek RISC pertama dibuat oleh IBM, stanford dan UC-Berkeley pada akhir tahun 70 dan awal tahun 80an. IBM 801, Stanford MIPS, dan Berkeley RISC 1 dan 2 dibuat dengan konsep yang sama sehingga dikenal sebagai RISC.

Pendekatan CISC bertujuan untuk meminimalkan jumlah instruksi per program, dengan cara mengorbankan kecepatan eksekusi sekian silus/detik. Sedangkan RISC bertolak belakang, tujuannya mengurangi jumlah siklus/detik setiap instruksi dibayar dengan bertambahnya jumlah instruksi per program.

Perbedaan mencolok pada kedua arsitektur ini dapat dilihat pada model instruksi yang diterapkan. Semua jenis prosesor CISC memiliki panjang instruksi yang berbeda-beda, mulai dari 1 byte hingga lebih dari ukuran word prosesor 32-bit (4 byte). Sementara itu, prosesor RISC memiliki panjang instruksi yang selalu seragam. Biasanya mengikuti ukuran word size prosesor itu sendiri. Misalnya MIPS 32, memiliki instruksi berukuran 4 byte.

Karena keterbatasan RISC, arsitektur ini cenderung memiliki instruksi lebih sedikit dan sederhana. Panjang instruksi yang pendek tidak memungkinkan penggunaan operand dalam jenis immediate yang lengkap. Misalnya MIPS hanya dapat membaca operand immediate 16-bit. Ini karena 16-bit dari kode instruksi harus digunakan untuk menyimpan format dan konfiigurasi kerja instruksi.

Contohnya adalah pada kedua instruksi berikut.
Intel
mov eax,0x12345678

MIPS
lui $t2, 0x1234
ori $t2, $t2, 0x5678

Selain itu, arsitektur RISC tidak dapat mengakses memori secara langsung dari memori. Kesederhanaan RISC juga mengharuskan setiap instruksi selalu memakan waktu 1 CPU clock cycle saja.

Sebuah instruksi paling tidak harus melalui tahapan berikut:
1. Fetch : Kode instruksi dibaca dari memori
2. Decode : Penerjemahan instruksi
3. Execute : Eksekusi instruksi
4. Load/store : membaca/menulis data dari memori
Untuk menjaga agar setiap instruksi tidak memakan lebih dari sebuah cycle, maka setiap instruksi tidak akan mengerjakan tugas lebih dari 4 fase tersebut. Sebagai imbasnya, instruksi RISC cenderung lebih panjang dibanding instruksi CISC; untuk menyelesaikan pekerjaan yang sama.

Intel
mov eax,[0x00FF0123]

MIPS
lui $t2, 0x00FF
ori $t2, $t2, 0x0123
lw $t1,0($t1)


Intel
add [0xFACC1234],ebx

MIPS
lui $1,0xFACC
ori $t1,$t1,0x1234
lw $t3,0($t1)
addu  $t2, $t2, $t3
sw $t2,0($t1)

Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yang berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar. Jadi instruksi-nya cukup satu saja.

Satu kelebihan dari sistem CISC ini adalah kompiler hanya menerjemahkan instruksi-instruksi bahasa tingkat-tinggi ke dalam sebuah bahasa mesin. Karena panjang kode instruksi relatif pendek, hanya sedikit saja dari RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut.

Meski demikian,  bukan berarti desain RISC tidak lebih baik dari CISC. Desain RISC memungkinkan proses pipelining jauh lebih mudah, karena semua instruksi memiliki jumlah fase dan waktu eksekusi yang sama. Selain itu, RISC juga memiliki desain lebih sederhana, sehingga meminimalkan biaya produksi dan waktu improvisasi.

Sumber

Read more

Senin, 07 November 2016

Kutipan Jurnal Tentang Mikroprosesor : Pengertian dan Definisi

jurnal mikroprosesor

Pengertian dan definisi mikroprosesor banyak dibahas dalam jurnal. Dan kali ini, penulis akan sampaikan beberapa kutipan jurnal terkait. Mudah-mudahan dapat membantu kalian yang sedang sibuk laporan. :))
Kalau merasa kurang lengkap, silahkan kunjungi link yang sudah saya tautkan. Dan kalau tetap masih kurang, buka google.

Teknologi mikroprosesor sangat pesat perkembangannnya, hinga sekarang telah dihasilkan mikroprosesor Pentium IV. Namun dari segi fungsi, mikroprosesor tidak berubah, yakni tetap sebagai pusat pengendali pada sistem komputer, yang memiliki 3 saluran(bus) yakni bus data (data bus), bus alamat (address) serta bus kendali (control bus).

Pengaturan yang dilakukan oleh mikroprosesor pada prinsipnya adalah memberikan kombinasi status on atau off pada pin-pin kontrol yang disesuaikan dengan aturan standar oleh pabrik. Setiap kombinasi akan menghasilkan satu perintah yang dilakukan oleh mikroprosesor, peran perintah dilakukan oleh software. Ada puluhan perintah yang dikenal oleh mikroprosor, dan setiap tipe mikroprosesor memiliki printah yang berbeda namun umumnya hampir sama.

Zul Bahrum C., 2007. Aplikasi Mikrokontroler Untuk Sistem Perparkiran. Jurnal Gradien Vol.3 No.1 Januari 2007 : 200-203
https://gradienfmipaunib.files.wordpress.com/2008/07/zulbahrum3.pdf


Suatu mikroprosesor adalah bagian CPU (Central Processing Unit) dari sebuah komputer, tanpa memori, I/O, dan peripheral yang dibutuhkan suatu sistem lengkap. Sebagai contoh, 8088 dan 80x86 adalah suatu mikroprosesor. Untuk dapat bekerja, mikroprosesor membutuhkan perangkat pendukung yang dapat berupa RAM, ROM dan I/O. Bila sebuah mikroprosesor dikombinasikan dengan I/O dan memori (RAM/ROM), akan dihasilkan sebuah mikrokomputer. Pada kenyataannya, mengkombinasikan CPU dengan memori dan I/O dapat juga dilakukan dalam level chip, yang menghasilkan Single Chip Microcomputer (SCM).

Laxsmy Devy, 2009. PENGATURAN PARKIR KENDARAAN MASUK/KELUAR AREA PARKIR DAN MEMBANTU PENGEMUDI SAAT PARKIR BERBASIS MIKROKONTROLLER. Elektron: Vol. 1 No. 2, Edisi: Desember 2009.
http://download.portalgaruda.org/article.php?article=58436&val=4379


Mikroprosesor adalah miniatur CPU di dalam chip yang terbuat dari bahan silikon. Mikroprosesor berisikan ratusan dan bahkan ribuan transistor kecil sebagai saklar elektronik yang bisa melarang atau memperbolehkan arus melewatinya. Jika saklar on maka arus dapat lewat pada transistor dan mengimplementasikan logika 1. Sebaliknya arus akan diblokir jika saklar off dan ini mengimplementasikan logika 0.

Pada era sekarang mikroprosesor bisa berisikan miliaran transistor sehingga mempunyai kemampuan sangat tinggi. Meningkatkan kemampuan prosesor bisa berarti meningkatkan fungsinya, sehingga semakin banyak pekerjaan yang bisa diselesaikan dalam waktu cepat.

Gunawan Putrodjojo dan Eko Budi Purwanto, 2003. MENGOPTIMALKAN SISTEM PENYIMPANAN (MEMORY SYSTEM) UNTUK MENINGKATKAN KINERJA KOMPUTER. Jurnal llmiah llmu Komputer, Vol. 1 No. 3 September 2003: 41-54.
http://dspace.library.uph.edu:8080/bitstream/123456789/1554/2/jiik-01-03-2003-mengoptimalkan_sistem_penyimpanan_memory.pdf


Pada dasarnya sebuah mikroprossesor terdiri atas ; CPU (Central Processing Unit) yakni otak yang merupakan pengendali utama dari operasi yang ada pada system computer. Memory (Storage) yaitu media penyimpanan sebuah data atau instruksi. Port I/O adalah komponen yang digunakan untuk menghubungkan mikroprossesor dengan perangkat diluarnya. Bus system yaitu bus yang di dalamnya terdapat data, alamat dan kendali pada mikroprossessor.

Mikroprosesor biasa disebut juga CPU (Central Processing Unit). Cara kerja sebuah Mikroprosesor diarahkan oleh suatu program dalam kode-kode bahasa mesin yang telah dimasukkan terlebih dahulu ke dalam sebuah memori. Di dalam Mikroprosesor minimal terdiri dari rangkaian digital, register, pengolah logika aritmatika, rangkaiansekuensial.

Berikut adalah karakteristik penting dari mikroprosesor :
1. Ukuran bus data internal (internal data bus size): Jumlah saluran yang terdapat dalam mikroprosesor yang menyatakan jumlah bit yang dapat ditransfer antar komponen di dalam mikroprosesor.
2. Ukuran bus data eksternal (external data bus size): Jumlah saluran yang digunakan untuk transfer data antar komponen antara mikroprosesor dan komponen-komponen di luar mikroprosesor.
3. Ukuran alamat memori (memory address size): Jumlah alamat memori yang dapat dialamati oleh mikroprosesor secara langsung.
4. Kecepatan clock (clock speed): Rate atau kecepatan clock untuk menuntun kerja mikroprosesor.
5. Fitur-fitur spesial (special features): Fitur khusus untuk mendukung aplikasi tertentu seperti fasilitas pemrosesan floating point, multimedia dan sebagainya.

Mikroprosesor atau CPU adalah “otak” yang merupakan pengendali utama semua operasi dalam sistem komputer. Mikroprosesor mengambil instruksi biner dari memori, menerjemahkannya menjadi serangkaian aksi dan menjalankannya. Aksi tersebut bisa berupa transfer data dari dan ke memori, operasi aritmatika dan logika, atau pembangkitan sinyal kendali.

Timbo Faritcan Parlaungan S dan Nita Wijaya, 2012. PERANCANGAN PERANGKAT LUNAK UNTUK SIMULASI PEMBUATAN PETA ALAMAT MEMORI PADA SISTEM MIKROPROSESSOR. Jurnal Teknologi Informasi dan Komunikasi STMIK Subang, April 2012.
http://jurnalstmiksubang.ac.id/index.php/jtik/article/view/47/pdf
Read more

Senin, 17 Oktober 2016

Seperti Saham, Popularitas Bahasa Pemrograman Juga Ada Indeksnya


Seiring dengan perkembangan zaman, semakin banyak pula bahasa pemrograman baru muncul. Semuanya seperti saling bersaing memperebutkan pelanggan. Saat permintaan naik dan jumlah barang tetap, maka harganya mahal. Dan, ketika harganya terlalu mahal, pembeli akan berhenti melakukan pembelian. Yang terjadi adalah, harga barang turun kembali.

Tapi, siapa sih yang mau beli bahasa pemrograman? Hahaha

Meskipun sebagian besar bahasa pemrograman tidak berbayar, naik-turunnya popularitas juga dapat dipengaruhi oleh beberapa faktor; misalnya dari pihak internal diakibatkan oleh adanya update. Sdangkan jika dari luar biasa terjadi karena adanya sesuatu update dari developer IDE dari bahasa pemrograman bersangkutan.

Naik turunnya popularitas bahasa pemrograman bisa diketahui dari internet. Salah satu sumbernya adalah TIOBE. Dari sini, popularitas bahasa pemrograman dianalisa secara relatif dari beberapa faktor. Hasilnya kemudian dihitung dan diranking, sehingga diketahui popularitas masing-masing bahasa pemrograman.

"The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written." - TIOBE



Selain mengetahui pergerakan indeks nya, kita juga bisa melihat popularitas ranking setiap bahasa pemrograman.

Sumber : TIOBE Index

Pada tahun-tahun ini Java dan C bersaudara (C dan C++) memang terlihat saling bersaing. Memang diakui, kedua bahasa pemrograman ini adalah yang paling banyak digunakan oleh programmer di seluruh dunia, keduanya sudah seperti layaknya Euro dan dollar.
Read more

Minggu, 19 Juni 2016

Cukup Dengan Memori 68 KB Untuk Keliling Angkasa

Ada yang sudah kenal Voyager? Saya kira belum banyak yang pernah mendengarnya, apalagi sampai mengenalnya. Tapi, tentunya semua sudah tidak asing lagi dengan NASA kan?
Ya, Voyager adalah sebuah proyek yang dikembangkan oleh NASA untuk mengemban misi eksplorasi luar angkasa.





Dalam Voyager terdapat 3 jenis komputer, dan masing masing jenis berjumlah 2. Jenis komputer tersebut ialah:
  • Computer Command System (CCS) - 18-bit word, interrupt type processors (2) with 4096 words each of plated wire, non-volatile memory.
  • Flight Data System (FDS) - 16-bit word machine (2) with modular memories and 8198 words each
  • Attitude and Articulation Control System (AACS) - 18-bit word machines (2) with 4096 words each.

Jika ditotal, ternyata Voyager hanya memiliki memori sekitar 68 KB. Selain itu, menurut FAQ situs resmi Voyager, pengendali utama mampu berjalan pada frekuensi 4MHz, namun CPU hanya mampu mencapai frekuensi 250 KHz saja. Setiap instruksi diperkirakan membutuhkan waktu 80 microsecond untuk dieksekusi, dalam waktu 1 detik ada sekitar 8000 instruksi tereksekusi. Sangat berbeda jauh dengan mikroprosesor zaman sekarang yang pada umumnya telah mencapai satuan frekuensi GHz dan kecepatan eksekusi hingga angka milyaran instruksi per detiknya.

Ada 2 Voyager yang diluncurkan oleh NASA. Keduanya biasa dikenal dengan sebutan Voyager 1 dan Voyager 2. Jika dihitung, keduanya sudah berada di angkasa selama lebih dari 37 tahun, yaitu sejak peluncurannya pada tahun 1977.

Misi utama Voyager sebelumnya adalah melakukan eksplorasi Jupiter dan Saturnus. Kemudian Voyager 2 melanjutkan perjalanannya ke Neptunus dan Uranus. Dan sekarang, keduanya tengah bekerja untuk mencapai misi eksplorasi ke bagian paling tepi dari orbit tata surya. Sampai saat ini, Voyager adalah satu-satunya objek yang berhasil melakukan perjalanan terjauh dari bumi.

Sangat sulit untuk dipercaya, tapi begitulah faktanya. Voyager memberikan kita sebuah hikmah, bahwa kekurangan bukanlah suatu pembatas.

Info lebih lanjut: http://voyager.jpl.nasa.gov/faq.html

Read more

Sabtu, 19 Desember 2015

Perbedaan Prosesor CISC dan RISC


Intel merupakan salah satu contoh prosesor berarsitektur CISC(Complex Instruction Set Computer). Arsitektur CISC cenderung memiliki karakteristik instruksi yang lebih banyak dan panjang setiap instruksinya berbeda beda, mulai dari 1 byte hingga 12 byte, bahkan lebih. Suatu arsitektur prosesor bisa digolongkan dalam CISC apabila sebuah instruksi mampu mengerjakan lebih dari satu operasi dasar, yang meliputi pembacaan data dari memori, melakukan operasi aritmatika dan logika dan menyimpan data ke dalam memori. Hal ini berbeda dengan arsitektur RISC(Reduced Instruction Set Computer). Arsitektur RISC menyediakan instruksi dalam bentuk yang sederhana dan pada umumnya operasi yang dilakukan register-to-register. Arsitektur RISC menyediakan instruksi sederhana yang mana semua instruksi selalu memiliki panjang yang sama. Misalkan pada prosesor MIPS, semua hasil assembly instruksinya masing-masing akan selalu berukuran 4 byte. Perbedaan lebih jelas bisa dilihat pada operasi penjumlahan antara intel dan MIPS berikut.




Instruksi Intel
add [mydata],0x100
Instruksi MIPS
lw $t1,mydata
addiu $t2,$t1,0x100
sw $t2,mydata

Prosesor Intel mendukung operasi akses memori pada hampir semua instruksinya. Sementara itu, prosesor MIPS dan prosesor RISC lainnya hanya dapat menggunakan register. Untuk mengakses memori, prosesor menyediakan instruksi load untuk membaca data dari memori ke register dan store menyimpan data dari register ke memori.

Prosesor CISC akan cenderung lebih mudah dipelajari assemblynya, karena beberapa alasan, pertama instruksinya lebih mudah dimengerti dan praktis untuk ditulis, jumlah register lebih sedikit dibandingkan prosesor arsitektur RISC membuatnya mudah untuk dihafalkan, prosesor RISC hanya berfokus pada simplifikasi desain prosesor dan compiler, namun arsitektur CISC lebih fokus pada penyediaan fungsi abstraksi operasi tingkat tinggi di tingkat assembly. Secara garis besar kita bisa mengatakan bahwa CISC bersifat programmer oriented, sedangkan RISC lebih kepada hardware oriented.
Jika melihat lebih dalam lagi, masih ada banyak perbedaan yang bisa ditemukan. Prosesor CISC memiliki waktu eksekusi instruksi yang berbeda, tergantung pada jenis instruksi dan addressing mode yang digunakan. Hal ini secara langsung memaksa pengembang arsitektur untuk menetapkan algoritma pipelining yang tepat, karena waktu eksekusi berbeda-beda, tentu saja akan semakin rumit. Hal ini berbalik dengan arsitektur RISC. Instruksi yang sederhana membuat pengembang mudah menetapkan waktu eksekusi instruksi, setiap instruksi memiliki waktu eksekusi seragam dan algoritma yang diterapkan untuk pipelining pun sederhana.
Read more

Minggu, 23 Februari 2014

Sejarah Blender (Perangkat Lunak 3D Open Source)

Pada tahun 1998, Ton Rosendaal mendirikan studio animasi Belanda, bernama NeoGeo. NeoGeo berkembang begitu cepat dan menjadi studio animasi terbesar di Belanda. Dalam NeoGeo, Ton bertanggung jawab untuk mengembangkan seni sekaligus perangkat lunak internal. Setelah melakukan banyak pertimbangan maka pada tahun 1995, Ton memutuskan untuk menulis ulang toolset 3D mulai dari awal. Inilah awal sejarah lahirnya perangkat lunak open source yang saat ini kita kenal dengan nama Blender.

Pada tahun 1998, Ton mendirikan sebuah perusahaan bernama Not A Number(NaN). Perusahaan ini dibuat untuk megembangkan Blender lebih lanjut dan mendistribusikannya sebagai program berbayar(shareware). Sayangnya, karena terjadi sedikit permasalahan ekonomi, investor NaN mulai menghentikan kerjasamanya pada tahun 2002. Hal ini berakibat pada pengembangan Blender yang juga ikut terhenti.

Antusiasme masyarakat pengguna Blender menyayangkan Blender berhenti dari proses pengembangannya. Beberapa bulan kemudian, Ton memiliki ide untuk membuat Blender Foundation.  Blender Foundation adalah sebuah cara untuk terus mempromosikan dan mengembangkan Blender sebagai sebuah komunitas open source.Singkat cerita, setelah berjuang mengumpulkan donasi dan relawan, akhirnya pada bulan Oktober 2002, Blender mulai dirilis secara open source ke seluruh dunia dibawah lisensi GNU GPL(General Public License). Pengembangan Blender terus berlanjut sejak saat itu, diikuti oleh para relawan yang sangat berdedikasi membantu pengembangan Blender sebagai perangkat lunak desain 3D open source.

Tertarik mencoba Blender?
Silahkan kunjungi situsnya untuk mendownload atau mengetahui info lebih lanjut..
www.blender.org


NB : Minimum Hardware Requirements
Processor : Dual core @ 2 GHz
Meory : 2GB
Graphics card : Open GL card with 256 MB VRAM
Display : 1280x768
Input : Two button mouse
Read more

Kamis, 05 Desember 2013

Cara Menampilkan Lirik Lagu Ketika Diputar

Ketika senang, sedih ataupun galau, saat ada watu luang kita selalu mendengarkan musik, baik dari MP3 player, radio ataupun HP. Seakan - akan musik menjadi pembawa suasana kita setiap waktu. Selain mendengar banyak juga diantara kita mencoba menghafal salah satu judul lagu yang paling kita suka. Masalahnya jika kita suka lagu barat, liriknya sedikit sukar untuk dipahami, bahkan lagu lokal pun terkadang juga demikian.
Untuk mengatasi hal ini, disini saya akan share software yang saya temukan di kost teman saya kemarin. hehehe :D
Software ini namannya Minilyrics





Minilyric akan menampilkan lirik lagu yang sedang kita putar di atas desktop. Adapun MP3 player yang didukung Minilyrics adalah

  • Windows Media Player
  • AIMP
  • Winamp
Lirik yang ditampilkan oleh minilyric bukan berasal dari file MP3 nya lho, tapi dari Internet. Jadi pastikan anda terkoneksi Internet sebelum memutar lagu.

Untuk mencoba, silahkan download softwarenya dibawah ini :

http://www.joydownload.com/d/82/Minilyrics7.6.35-aoc-jd.exe

Selamat mencoba... :)
Read more

3 Antivirus Buatan Indonesia

Siapa bilang Indonesia hanya bisa memakai? Ternyata selama ini Indonesia juga banyak menghasilkan software-software kreatif, salah satunya adalah antivirus. Berdasarkan pencarian informasi di google saya menemukan puluhan software antivirus asli buatan tangan kreatif pemuda Indonesia :)
Dari beberapa sumber yang saya baca, saya dapat menyimpulkan 3 antivirus Indonesia yang paling banyak dipaai saat ini, antara lain :

1. SMADAV
  • Ringan
  • Auto-updater
  • Penggantian tema
  • Dilengkapi fitur Smad-Lock


2. PCMAV (PC Media Antivirus)
  • Real-time protection
  • Link protector
  • Archive scanner
  • Updater
  • Virus submitter



3. ARTAV
  • Hybrid scanning
  • Mail scanner
  • Real-time protection
  • Mengenal lebih dari 450.000 virus


Selamat mencoba :)
Read more

Rabu, 04 Desember 2013

Macam - Macam Foto Editor Online


Saya sering sekali menuju warnet atau mengakses wifi di kampus. Kegiatan saya saat berinternet rata-rata adalah membuat postingan blog dan Facebookan, itu saja. :D
Saya juga sering membagikan foto lucu dari google, meme dan foto-foto lainnya di facebook. Ketika membuat postingan saya juga sering memerlukan tool tambahan untuk editing gambar. Tapi, masalah yang kerap saya alami, komputer yang saya pakai tidak ada software editing foto. Microsoft paint tidak banyak membantu aktivitas saya.
Karena belum tahu, saya dulunya sering menghabiskan waktu browsing untuk mendownload Photoshop portable, banyak sekali waktu terbuang percuma, belum lagi wifi kampus yang saya pakai juga sering ada gangguan -_-
Tanpa sengaja, ketika browsing, saya menemukan alternatif untuk mengedit gambar dan foto tanpa harus menggunakan software, yaitu dengan Online Photo Editor. Dengan Editor foto online, kita tidak perlu menghabiskan banyak waktu untuk mendownload, hanya untuk mengedit sebuah foto.
Adapun editor-editor foto online yang pernah saya pakai antara lain sebagai berikut.

1. Pixlr


2. Sumopaint


3. Picmonkey


4. Picfull

5. Fotor


6. Lunapic


7. Befunky


8. Funphotobox

9. Pixenate





10. Pixisnap


11. Canva


Selamat mencoba :)
Read more

Rabu, 27 November 2013

Mengenal Syntax Assembly AT&T


Syntax selalu berbeda pada setiap bahasa pemrograman, tetapi kadang kala juga terdapat perbedaan pada sebuah bahasa pemrograman yang sama. Contohnya adalah asembly yang memiliki 2 macam syntax, yaitu Intel dan AT&T. 
Syntax Intel sering dipakai pada lingkungan sistem operasi Windows, jadi sudah banyak yang mengenalnya. Bagaimana dengan syntax AT&T? Syntax AT&T sering digunakan pada system operasi Unix dan sebangsanya, seperti Linux dan BSD. Penulisan syntax AT&T membutuhkan prefix, hal ini dimaksudkan untuk mempermudah compiler menerjemahkan kode menjadi biner. Ini membuatnya kurang disukai oleh programmer, karena dinilai kurang praktis dalam penulisannya. Contoh compiler yang menyediakan syntax AT&T adalah Gas(GNU Assembler).


Prefix

Prefix adalah symbol atau tanda yang dipakai untuk menentukan jenis instruksi dan operand.

Prefix pada Instruksi

Penggunaan prefix wajib ditulis pada setiap instruksi yang memiliki operand, misalnya MOV, INC dan ADD. Prefix diletakkan didepan instruksi dan huruf prefixnya ditentukan oleh jenis operasi yang digunakan oleh instruksi. Prefix pada instruksi AT&T antara lain adalah, B untuk operasi BYTE, W untuk WORD dan L untuk LONG(DOUBLEWORD).

  • Prefix pada register

Register yang akan kita akses harus diawali dengan karakter “%”, misalnya, %EAX, %EBP dan %AL.

  • Prefix pada angka

Penulisan angka harus diawali dengan prefix karakter dollar “$”, misalnya, $1, $12, $0x100, $0xff dan $0x1b.


Symbol

Beberapa symbol pada syntax AT&T berbeda dengan syntax Intel, untuk melihat perbedaannya lihat Contoh di bagian bawah.


Operand

Penulisan operand juga berbeda dengan syntax Intel, operand pada syntax AT&T berbalik dari syntax Intel.


Contoh

Untuk memahami semua penjelasan di atas, lihat tabel contoh di bawah ini dengan seksama.

Intel AT&T
clc clc
Inc al Incb %al
mov al, bh movb %bh,%al
mov ax,dx movw %dx,%ax
mov eax,ebx movl %ebx,%eax
mov eax,1000 movl $1000,%eax
mov eax,[edi] movl [%edi],%eax
mov eax,[edi + 4] movl 4[%edi],%eax
mov eax,[edi – 5] movl -5[%edi],%eax

Read more