Categories : Computer Architecture
Pengantar Arsitektur Komputer – 4 Rangkaian Aritmatika Muhammad Adri
[email protected] http://muhammadadri.wordpress.com
Abstrak Rangkaian aritmatika merupakan salah satu inti pembahasan dalam pengantar arsitektur komputer, karena sebagaimana telah dibahas pada Modul 2 dan 3 tentang Gerbang Logika Dasar dan Aritematika Biner tidak semua operasi aritmatika biner dapat dilakukan oleh gerbang logika dasar, maka oleh sebab itu, dibutuhkan suatu pemahaman tentang konsep rangkaian aritmatika yang dapat digunakan untuk merealisasikan konsep operasi aritmatika biner tersebut. Sebagaimana diketahui pada Modul 1, bahwa ALU (Arithmatic and Logic Unit) merupakan the heart of computer system, sehingga pemahamana terhadap materi Rangkaian Aritmatika ini merupakan salah satu langkah awal untuk memahami konsep arsitektur komputer.
Pendahuluan Operasi aritmatika binari, merupakan operasi aritmatika yang melandasi tentang proses aritmatika dan logika pada sistem digital dan komputer modern. Namun pada kenyataannya, operasi aritmatika tersebut tidak dapat diwakili oleh operasi yang terdapat pada gerbang dasar, walaupun secara prinsipnya, tiap-tiap gerbang mewakili satu operasi aritmatika, terutama adalah operasi-operasi dasar penjumlahan dan pengurangan. Pada Modul 4 ini akan dibahas sub-sub topik sebagai berikut : ) Penjumlah Tak Lengkap (Half Adder) ) Penjumlah Lengkap (Full Adder) ) Penjumlah Biner Paralel ) Pengurang Paro dan Penuh (Half and Full Substractor) Contoh : Pada saat kita akan menjumlahkan dua bilangan biner 1+1, bila diwakilkan dengan operasi penjumlahan pada Gerbang OR, akan menghasilkan keluaran yang berbeda dengan hasil operasi aritmatika yang sesungguhnya, dimana jika diperasikan dengan Gerbang OR, akan diperoleh keluaran 12+12 = 12, sedangkan pada operasi aritmatika idealnya output yang diperoleh adalah 1+1 = 102, bagaimana mengimplementasikan operasi ini pada sistem komputer digital ? Maka untuk menjawab pertanyaan ini dibutuhkan sebuah rangkaian aritmatika yang
Muhammad Adri S.Pd, MT
1
Categories : Computer Architecture
dapat mewakili operasi aritmatika yang sesungguhnya. Operasi penjumlahan aritmatika : 1 1+ 10
Hasil jumlah
Limpahan
Rangkaian Penjumlah Tak Lengkap (Half Adder) Penjumlah tak lengkap (half adder) menjumlahkan 2 angka biner pada satu operasi, yang akan menghasilkan keluaran dua digit biner, yaitu biner hasil jumlah dan biner limpahan. Rangkaian half adder (HA) ini mewakili operasi aritmatika penjumlahan dua bilangan biner, yang tidak bisa diwakili oleh operasi penjumlahan dengan gerbang OR. Sebuah HA, dapat digambarkan fungsinya secara blok diagram sebagai berikut :
∑HA
Input bit A
A
∑
Input bit B
B
Cout
Output Sum
Output Carry
Gambar 4.1. Blok digaram penjumlah tak penuh (Half Adder)
Untuk melakukan operasi penjumlahan dengan HA ini, diwakili oleh dua buah gerbang logika, yaitu gerbang EXOR dan AND, dengan bentuk rangkaian sebagai berikut :
Gambar 4.2. Rangkaian penjumlah tak penuh (Half Adder)
Operasi rangkaian ini, dapat dianalogikan dengan operasi persamaan : - Sum = AB + AB = A⊕B - Carry = A.B Prinsip kerja rangkaian ini dapat dibuktikan dengan tabel kebenaran operasi
berikut ini :
Tabel 4.1. Operasi aritmatika biner A B Carry Sum 0 0 0 0 0 1 0 1
Muhammad Adri S.Pd, MT
2
Categories : Computer Architecture
1 1
0 1
0 1
1 0
Tabel 4.2. Tabel kebenaran operasi Half Adder A B A.B Carry A⊕B 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1
Sum 0 1 1 0
Seperti halnya untuk setiap rangkaian logika dengan 2 input, maka akan diperoleh variasi masukan seperti pada tabel di atas. Sehingga operasinya dapat diuraikan sebagai berikut : 1. Bila A = 0 dan B = 0, maka : Sum = A ⊕ B = 0 ⊕ 0 = 0 Carry = A . B = 0 . 0 = 0 2. Bila A = 0 dan B = 1, maka : Sum = A ⊕ B = 0 ⊕ 1 = 1 Carry = A . B = 0 . 1 = 0 3. Bila A = 1 dan B = 0, maka : Sum = A ⊕ B = 1 ⊕ 0 = 1 Carry = A . B = 1 . 0 = 0 4. Bila A = 1 dan B = 1, maka : Sum = A ⊕ B = 1 ⊕ 1 = 0 Carry = A . B = 1 . 1 = 1 Sehingga dengan rangkaian HA ini, kita dapat melakukan operasi penjumlahan biner dengan rangkaian logika, sehingga dengan demikian, akan dapat kita peroleh : 0+0 = 0, 0+1 = 1, 1+0=1 dan 1+1 = 10. Namun sayangnya penjumlahan dengan HA ini hanya dapat melakukan operasi penjumlahan dua biner terhadap LSB (least significant binary)-nya saja, tetapi untuk nilai biner yang lebih berbobot, rangkaian ini tidak dapat melakukannya. Selengkapnya operasi yang terjadi pada rangkaian HA, diperlihatkan pada Gambar 4.3 berikut ini :
Gambar 4.3. Operasi rangakain Half Adder
Muhammad Adri S.Pd, MT
3
Categories : Computer Architecture
Rangkaian Penjumlah Lengkap (Full Adder) Kelemahan yang dimiliki oleh rangkaian penjumlah tak penuh (HA), yang hanya dapat melakukan operasi penjumlahn terhadap 2 bilangan biner pada sisi LSB, diatasi dengan membangun rangkaian penjumlah yang lebih lengkap yang disebut dengan rangkaian penjumlah lengkap (Full Adder) Rangkaian Full Adder (FA), merupakan sebuah rangkaian penjumlah yang mempunyai tiga input, termasuk masukan bawaan (input carry) dan menghasilkan keluaran hasil jumlah (sum) dan hasil bawaan (output carry) Dalam menjumlahkan dua bilangan biner, mungkin terdapat bawaan dari satu kolom ke kolom berikutnya, contoh : 111 +101 1100 Dalam kolom paling ringan (LSB – least significant binary) : 1 + 1 = 0, dengan bawaan 1 Dalam kolom berikutnya, kita harus menjumlahkan 3 angka digit, akibat adanya bawaan dari kolom sebelumnya : 1 + 0 + 1 = 0, dengan bawaan 1 Dalam kolom terakhir, kembali terjadi penjumlahan dengan 3 angka biner, akibat bawaan kolom kedua : 1 + 1 + 1 = 1, dengan bawaan 1 Oleh sebab itu, untuk menjumlahkan bilangan-bilangan biner dengan operasi bawaan yang menghasilkan penjumlahan 3 biner sekaligus, tidak bisa dilakukan lagi dengan HA, tetapi merupakan suatu rangkaian FA. Sebuah FA pada dasarnya adalah gabungan dua buah HA, dengan kedua output carry-nya dijumlahkan, yang dilengkapi dengan sebuah masukan carry (Cin), secara blok dapat digambar sebagai berikut :
∑F
Input bit A
Sum
A ∑
Input bit B
Carry
B Cout
Input carry
Gambar 4.4. Blok diagram Full Adder
Skema rangkaian FA yang dibangun dengan dua buah HA, adalah sebagai berikut :
Input bit A
∑HA1
∑H2
A⊕B
A
A
∑
∑
B
B
(A⊕B) ⊕Cin
Ouput Sum
Input bit B
Muhammad Adri S.Pd, Input MT Carry-C
in
4 Output Carry
Categories : Computer Architecture
Gambar 4.5. Blok diagram sebuah FA, dibangun dari dua HA
Dari blok diagram di atas, dapat dibangun sebuah rangkaian operasi FA, sebagai berikut :
HA1
HA2
Gambar 4.6. Rangkaian Full Adder
Dari skema rangkaian tersebut, diperoleh suatu tabel kebenaran (truth table) dari sebuah Full Adder sebagai berikut :
Tabel 4.3. Tabel kebenaran Full Adder A B Cin 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 1 1
Cout 0 0 0 1 0 1 1 1
∑ / Sum 0 1 1 0 1 0 0 1
Cin = input carry, kadang disimbolkan dengan CI Cout = ouput carry, kadang disimbolkan dengan CO ∑/ sum = hasil jumlah full adder A dan B = varibel input (operand)
Dengan memperhatikan skema rangkaian FA, maka dapat dibuat suatu persamaan untuk output-outputnya sebagai berikut : 1. Keluaran HA1 Sum = A⊕B, dan Carry = A.B 2. Keluaran HA 2 Sum = (A⊕B) ⊕Cin, dan Carry = (A⊕B). Cin 3. Keluaran lengkap Full Adder Sum = (A⊕B) ⊕Cin, dan Carry = AB + (A⊕B). Cin Operasi dari suatu FA, berdasarkan persamaan di atas, maka dapat digambarkan melalui
Muhammad Adri S.Pd, MT
5
Categories : Computer Architecture
suatu tabel kebenaran, sebagai berikut : Tabel 4.4. Tabel kebenaran operasi Full Adder dari 2 Half Adder HA1 HA2 A B Cin Carry Sum Carry Sum 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
Full Adder Carry Sum
AB
A⊕B
(A⊕B). Cin
(A⊕B) ⊕Cin
AB + (A⊕B). Cin
(A⊕B) ⊕Cin
0 0 0 0 0 0 1 1
0 0 1 1 1 1 0 0
0 0 0 1 0 1 0 0
0 1 1 0 1 0 0 1
0 0 0 1 0 1 1 1
0 1 1 0 1 0 0 1
Tabel kebenaran di atas, dapat dibuktikan satu persatu, dengan rangkaian penjumlah penuh sebagai berikut :
Gambar 4.7. Rangkaian Full Adder
1. Saat masukan A= 0, B= 0 dan Cin = 0, maka : a. Keluaran HA 1 Sum = A⊕B = 0 ⊕ 0 = 0 Carry = A.B = 0 . 0 = 0 b. Keluaran HA 2 Sum = (A⊕B) ⊕ Cin = 0 ⊕ 0 = 0 Carry = (A⊕B). Cin = 0 . 0 = 0 c. Keluaran Full Adder Sum = (A⊕B) ⊕ Cin = 0 ⊕ 0 = 0 Carry = AB + (A⊕B). Cin = 0 + 0 = 0 2. Saat masukan A= 0, B= 0 dan Cin = 1, maka : a. Keluaran HA 1 Sum = A⊕B = 0 ⊕ 0 = 0 Carry = A.B = 0 . 0 = 0 b. Keluaran HA 2 Sum = (A⊕B) ⊕ Cin = 0 ⊕ 1 = 1 Carry = (A⊕B). Cin = 0 . 1 = 0 c. Keluaran Full Adder Sum = (A⊕B) ⊕ Cin = 0 ⊕ 1 = 1 Carry = AB + (A⊕B). Cin = 0 + 0 . 1 = 0 3. Saat masukan A= 0, B= 1 dan Cin = 0, maka : a. Keluaran HA 1 Sum = A⊕B = 0 ⊕ 1 = 1
Muhammad Adri S.Pd, MT
6
Categories : Computer Architecture
Carry = A.B = 0 . 1 = 0 b. Keluaran HA 2 Sum = (A⊕B) ⊕ Cin = 1 ⊕ 0 = 1 Carry = (A⊕B). Cin =1 . 0 = 0 c. Keluaran Full Adder Sum = (A⊕B) ⊕ Cin = 1 ⊕ 0 = 1 Carry = AB + (A⊕B). Cin = 0 + 1.0 = 0 4. Saat masukan A= 0, B= 1 dan Cin = 1, maka : a. Keluaran HA 1 Sum = A⊕B = 0 ⊕ 1 = 1 Carry = A.B = 0 . 1 = 0 b. Keluaran HA 2 Sum = (A⊕B) ⊕ Cin = 1 ⊕ 1 = 0 Carry = (A⊕B). Cin = 1. 1 = 1 c. Keluaran Full Adder Sum = (A⊕B) ⊕ Cin = 1 ⊕ 1 = 0 Carry = AB + (A⊕B). Cin = 0 + 1.1 = 1 5. Saat masukan A= 1, B= 0 dan Cin = 0, maka : a. Keluaran HA 1 Sum = A⊕B = 1 ⊕ 0 = 1 Carry = A.B = 1 . 0 = 0 b. Keluaran HA 2 Sum = (A⊕B) ⊕ Cin = 1 ⊕ 0 = 1 Carry = (A⊕B). Cin = 1 . 0 = 0 c. Keluaran Full Adder Sum = (A⊕B) ⊕Cin = 1 ⊕ 0 = 1 Carry = AB + (A⊕B). Cin = 0 + 1. 0 = 0 6. Saat masukan A= 1, B= 0 dan Cin = 1, maka : a. Keluaran HA 1 Sum = A⊕B = 1 ⊕ 0 = 1 Carry = A.B = 1 . 0 = 0 b. Keluaran HA 2 Sum = (A⊕B) ⊕Cin = 1 ⊕ 1 = 0 Carry = (A⊕B). Cin = 1 . 1 = 1 c. Keluaran Full Adder Sum = (A⊕B) ⊕Cin = 1 ⊕ 1 = 0 Carry = AB + (A⊕B). Cin = 0 + 1. 1 = 1 7. Saat masukan A= 1, B= 1 dan Cin = 0, maka : a. Keluaran HA 1 Sum = A⊕B = 1 ⊕ 1 = 0 Carry = A.B = 1 . 1 = 1 b. Keluaran HA 2 Sum = (A⊕B) ⊕Cin = 0 ⊕ 0 = 0 Carry = (A⊕B). Cin = 0 . 0 = 0 c. Keluaran Full Adder Sum = (A⊕B) ⊕Cin = 0 ⊕ 0 = 0 Carry = AB + (A⊕B). Cin = 1 + 0 . 0 = 1 8. Saat masukan A= 1, B= 1 dan Cin = 1, maka : a. Keluaran HA 1 Sum = A⊕B = 1 ⊕ 1 = 0
Muhammad Adri S.Pd, MT
7
Categories : Computer Architecture
Carry = A.B = 1 ⊕ 1 = 1 b. Keluaran HA 2 Sum = (A⊕B) ⊕Cin = 0 ⊕ 1 = 1 Carry = (A⊕B). Cin = 0 . 1 = 0 c. Keluaran Full Adder Sum = (A⊕B) ⊕Cin = 0 ⊕ 1 = 1 Carry = AB + (A⊕B). Cin = 1 + 1. 1 = 1
Rangkaian Penjumlah Biner Paralel (Paralel Binary Adder) Konsep dasar penjumlah lengkap (FA), telah dapat mewakili operasi penjumlahan yang menghasilkan suatu input carry pada penjumlahan kolom berikutnya. Tetapi dalam operasionalnya penjumlahan biner tidak hanya sebatas itu saja, tetapi kadang juga terdiri dari sejumlah bilangan biner yang berjajar (paralel), Misalnya : A3A2A1A0 +B3B2B1B0 S3 S2 S1 S0 Maka untuk melakukan operasi tersebut, tidak dapat diwakilkan lagi dengan hanya menggunakan FA saja, tetapi menggunakan suatu metoda yang disebut Paralel binary adder. Blok diagram sebuah penjumlah biner parelel diperlihatkan pada Gambar 4.8. ∑ PBA Input A
A3 A2 A1 A0
S4 S3 S2 S1 S0
Sum
B3 B2 B1 B0
Input B Gambar 4.8. Blok Diagram penjumlah biner paralel
Sebuah penjumlah biner paralel, pada dasarnya dibangun dari sejumlah FA dan HA, tergantung jumlah bit yang akan dijumlahkan secara paralel, selengkapnya untuk membangun sebuah penjumlah paralel biner 4 bit adalah :
A3
A2
A1
A0
B3
B2
B1
B0
FA
FA
S4
S3
FA Carry
Carry
S2
HA Carry
S1
S0
Gambar 4.9. Penjumlah biner paralel 4 bit
Kelompok penjumlahan kolom pertama hanya membutuhkan sebuah penjumlah tak lengkap (Half Adder), karena belum ada terjadi penjumlahan terhadap carry, namun bagi setiap kolom setelah kolom pertama, mungkin akan terdapat bawaan dari kolom sebelumnya; oleh
Muhammad Adri S.Pd, MT
8
Categories : Computer Architecture
karena itu kita harus menggunakan sebuah penjumlah penuh bagi masing-masing kolom di atas kolom pertama. Penjumlahan Sebagai contoh operasi penjumlahan biner paralel, dapat dilihat pada Gambar 9.9 di atas. Misalkan kita akan menjumlahkan bilangan desimal 11 dan 7, maka hasilnya tentu 18, ekivalen 11 dalam biner adalah 1011, dan ekivalen 7 dalam biner adalah 0111, maka operasi binernya adalah sebagai berikut : 1011 +0111 10010 Pada kolom biner pertama, hanya menggunakan penjumlah HA, karena hanya mempunyai dua masukan yaitu 1 dan 1, tetapi hasil dari operasi pada kolom pertama ini menghasilkan carry bagi kolom ke dua dan carry ini menjadi input operasi biner kolom kedua, maka pada kolom kedua digunakan sebuah FA, dan operasi pada kolom ke dua ini pun menghasilkan carry bagi kolom ke tiga, dan kolom ketiga juga menghasilkan carry bagi kolom ke empat dan hasil dari operasi pada kolom ke empat menghasilkan sebuah output carry. Operasi penjumlahan bilangan biner tersebut diatas, dapat dilihat ildtrasinya pada Gambar 4.10. 1
0
1
1
0
1
1
1
FA
FA
1
0
FA Carry
Carry
0
HA Carry
1
0
Gambar 4.10. Ilustrasi penjumlah biner paralel 4 bit
Dalam penjumlahan biner paralel, jumlah bilangan maksimum yang bisa dilakukan tegantung pada jumlah bit paralel yang akan dijumlahkan. Misal, jika biner paralelnya terdiri dari 4 bit, maka bilangan biner maksimal yang bisa dijumlahkan secara paralel adalah 1111 dan 1111, sehingga diperoleh :
1111 +1111 11110
15 + 15 30
Untuk meningkatkan kapasitas penjumlahan yang dapat dilakukan oleh sebuah penjumlah biner paralel, maka dapat ditambahkan sejumlah FA pada sisi kiri dari rangkaian penjumlah sebelumnya, misalnya jika akan membangun penjumlah biner paralel 6 bit, maka hubungkan dua buah FA lagi disisi penjumlah biner 4 bit.
Pengurang Paro dan Penuh (Half and Full Subtractor) Pada operasi aritmatika pengurangan biner, dilakukan dengan jalan menggunakan komplemennya untuk mengurangkan, namun disamping kondisi tersebut, pengurangan biner dapat dilakukan secara langsung, selagi mengikuti kaidah-kaidah pengurangan biner : Muhammad Adri S.Pd, MT
9
Categories : Computer Architecture
0 – 0 = 0 dengan pinjaman (borrow) 0 0 – 1 = 1 dengan pinjaman (borrow) 1 1 – 0 = 1 dengan pinjaman (borrow) 0 1 – 1 = 0 dengan pinjaman (borrow) 0 Tabel berikut ini akan meringkaskan hasil-hasil ini dengan memberikan kaidah pengurangan bagi A – B. Tabel 4.5. Pengurang Paro dan Penuh A B Borrow 0 0 0 0 1 1 1 0 0 1 1 0
Selisih 0 1 1 0
Dari tabel kebenaran tersebut di atas, maka kita sudah dapat membayangkan bentuk rangkaian pengurang paro ini (Half Substarctor – HS), yaitu, pada tabel selisih kita memperoleh bentuk tabel kebenaran outputnya sama dengan tabel kebenaran gerbang EXOR, kemudian untuk rangkaian borrow-nya, dapat kita peroleh dengan membuat bentuk persamaan SOP (sum of product) dari tabel kebenarannya, dimana untuk borrow kita peroleh persamaan akhir SOP nya adalah : AB, artinya untuk borrow dapat dibangun dengan mengunakan sebuah gerbang AND dengan input A nya di inverterkan, sehingga bentuk rangkaian akhir HS adalah :
Gambar 4.11. Rangkaian pengurang paro
Pengurang paro hanya menangani dua bit masukan (A dan B), jika terjadi proses borrow, misalnya pada kolom berikutnya, maka kita membutuhkan sebuah rangkaian pengurang penuh (Full Substractor). Pengurang paro dan penuh pada dasarnya analog dengan penjumlah paro dan penuh, dimana dengan menggandengkan pengurang paro akan diperoleh sebuah rangkaian pengurang penuh.
Input bit A
HS1
HS2
A⊕B
A
A
∑
∑
B
B
Input bit B
Input Borrow-Bwin
(A⊕B) ⊕Bwin Ouput Substractor
Muhammad Adri S.Pd, MT 10
Output Borrow
Categories : Computer Architecture
Gambar 4.12. Rangkaian Pengurang penuh
Sedangkan untuk membangun sebuah rangkaian pengurang biner paralel, pada hakikatnya hampir sama dengan penjumlah biner paralel, seperti diperlihatkan pada Gambar 4.13 A3
A2
A1
A0
B3
B2
B1
B0
FS
FS
Sb4
Sb3
FS Borrow
Borrow
Sb2
HS Borrow
Sb1
Sb0
Gambar 4.13. Rangkaian Pengurang paralel
Latihan 1 : 1. Bangulah sebuah penjumlah tak lengkap (Half Adder) dengan hanya menggunakan satu jenis gerbang NAND saja, dan buktikan persamaan akhirnya dengan sebuah tabel kebenaran 2. Bangunlah sebuah penjumlah lengkap (Full Adder) dengan hanya menggunakan satu jenis gerbang NAND saja, dan buktikan persamaan akhirnya dengan sebuah tabel kebenaran Latihan 2 : 1. Rancanglah suatu rangkaian penjumlah biner paralel, yang akan melakukan operasi penjumlahan terhadap bilangan biner 4 bit. 2. Lengkapi soal no. 1 di atas dengan proses operasi penjumlahannya, buktikan dengan tabel kebenaran. 3. Buktikanlah rangkaian pengurang paro dan penuh dengan tabel kebenaran.
Simpulan 1. Operasi Aritmatika merupakan salah satu materi inti dalam pengantar arsitektur computer, untuk dapat memahami konsep kerja binary di dalam system computer 2. Konsep penjumlah biner diimpelementasikan dalam suatu model rangkaian penjumlah, yang dikelompokkan ke dalam dua model yaitu penjulah tak lengkap (half adder) dan penjumlah penuh (full adder) 3. Untuk melakukan operasi penjumlah biner secara parallel, yang umum digunakan di dalam system computer modern, dapat diimplementasikan dengan menggunakan sebuah konsep penjumlah biner pararel (parallel adder binary) 4. Untuk operasi pengurangan dapat dilakukan dengan menerapkan model rangkaian pengurang tak lengkap (half substarctor) dan pengurang lengkap (full substractor).
Muhammad Adri S.Pd, MT 11
Categories : Computer Architecture
Daftar Pustaka y y y y y y y
Abd El-Barr, Mostafa. 2005. Fundamentals of Computer Organization and Architecture. New Jersey, USA : John Wiley & Son. Balch, Mark. 2003. Complete Digital Design, New York : McGraw-Hill Murdoca, Miles J and Heuring, Vincent P. 1999. Principles of Computer Architecture, New Jersey : USA Prentice-Hall. Shiva, Sajan G. 2000. Computer Design and Architecture, Switzerland : Marcel Dekker, Inc Shiva, Sajjan G. 1998. Introduction to Logic Design, Switzerland : Marcel Dekker, Inc Stalling, William. 2006. Computer Organization and Architecture, 7th Edition, New Jersey , USA : Prentice-Hall. Tanembaum, AS. 2003. Structured Computer Organization, New York, USA : McGrew-Hill NY.
Biografi Penulis Muhammad Adri. Menyelesaikan S1 di Jurusan Teknik Elektronika FPTK IKIP Padang tahun 1999, dan S2 di Jurusan Teknik Elektro Universitas Gadjah Mada Yogyakarta, dengan konsentrasi Sistem Komputer dan Informatika (SKI) tahun 2004. Staf pengajar Teknik Elektronika Fakultas Teknik Universitas Negeri Padang. Kompetensi inti pada bidang Computer Networking and Security, Computer Architecture and Organization, Web-Based Application, Online Learning, Multimedia-Based Instructional Design, dan Knowledge Community. Penulis aktif, sebagai pemakalah dalam berbagai Seminar Nasional, instruktur pada model pembelajaran berbasis Multimedia dan Komputer., IT-Based Education. Memegang Sertifikasi Microsoft, JENI (Java Education Network Indonesia) 1,2,dan 4. Ketertarikan penulis dalam bidang implementasi IT dalam dunia pendidikan, menghantarkan penulis sebagai mahasiswa doktoral Ilmu Pendidikan Pascasarjana Universitas Negeri Padang, terhitung mulai September 2006.
Muhammad Adri S.Pd, MT 12