Kamis, 24 November 2011

Jumat, 19 Agustus 2011

bahasa pemrograman Basic

BASIC, adalah singkatan dari Beginners’ All-purpose Symbolic Instruction Code adalah sebuah kelompok bahasa pemrograman tingkat tinggi. Secara harfiah, BASIC memiliki arti "kode instruksi simbolis semua tujuan yang dapat digunakan oleh para pemula". Memang, istilah "Bahasa BASIC" di sini juga bisa diartikan menjadi bahasa untuk pemula, atau dengan kata lain, disebut sebagai bahasa dasar, tapi hal tersebut dirasa kurang tepat, mengingat BASIC dapat juga digunakan oleh para pemrogram ahli.

BASIC pertama kali dikembangkan pada tahun 1963 oleh John George Kemeny dan Thomas Eugene Kurtz yang berasal dari Dartmouth College, untuk mengizinkan akses terhadap komputer bagi para mahasiswa jurusan selain jurusan ilmu eksakta. Pada waktu itu, hampir semua komputer membutuhkan perangkat lunak, dan waktu itu belum ada perangkat lunak yang dijual secara bebas, sehingga hanya orang-orang tertentulah yang dapat menggunakan komputer, yakni para matematikawan dan ilmuwan, karena mereka dapat membangun perangkat lunak sendiri. Bahasa BASIC, setelah diciptakan menjadi menjamur dan banyak dimodifikasi. Bahasa BASIC menjadi bahasa yang paling populer digunakan pada komputer mikro pada akhir tahun 1970-an dan komputer rumahan pada tahun 1980-an. Dan hingga saat ini, menjadi bahasa yang dialeknya beberapa kali berevolusi.

Sejarah

Sebelum pertengahan tahun 1960-an, komputer merupakan barang yang sangat mahal dan hanya digunakan untuk tugas-tugas tujuan khusus. Pada saat itu, jenis pemrosesan yang dapat dilakukan adalah batch processing, yang artinya komputer hanya dapat melakukan pemrosesan satu pekerjaan pada satu waktu, dan pekerjaan lainnya akan dilakukan setelah pekerjaan lainnya selesai. Akan tetapi, selama tahun 1960-an, muncullah komputer yang lebih cepat dan lebih terjangkau. Dengan kemampuan pemrosesan yang lebih kuat ini, komputer pun kadang-kadang "menganggur", tanpa ada pekerjaan yang ia lakukan sama sekali. Bahasa pemrograman di dalam era batch programming pun didesain untuk tujuan-tujuan khusus, seperti halnya mesin di mana mereka berjalan, seperti halnya kalkulasi formula ilmiah atau pemrosesan data bisnis atau hanya untuk penyuntingan teks.

Seiring dengan turunnya harga komputer, penggunaan komputer pun tidak lagi terbatas pada riset-riset ilmiah dan militer, tetapi merambah kepada penggunaan komersial. Sistem-sitem komputer yang lebih baru mendukung konsep time-sharing, sebuah cara di mana sebuah sistem mengizinkan beberapa pengguna atau proses untuk menggunakan CPU dan memori. Dalam sistem tersebut, sistem operasi akan menggilir proses-proses yang sedang berjalan, dan mengizinkan setiap proses untuk dijalankan oleh CPU (serta disimpan di dalam memori), sebelum pindah ke proses selanjutnya. Mesin-mesin tersebut telah menjadi cukup cepat sehingga kebanyakan pengguna saat itu dapat merasakan seolah-olah mereka menggunakan mesin tersebut hanya untuk sendiri. Secara teori, time-sharing mampu mengurangi biaya komputasi secara signifikan, mengingat sebuah mesin dapat digunakan oleh beberapa pengguna, bahkan ada yang mencapai angka ratusan pengguna.
[sunting] Era komputer mini

Bahasa BASIC yang asli didesain pada tahun 1963 oleh John Kemeny dan Thomas Kurtz dan diimplementasikan oleh sekelompok siswa di Dartmouth College di bawah arahan mereka berdua. BASIC didesain untuk para siswa agar mereka dapat menulis program untuk Dartmouth Time-Sharing System. Bahasa tersebut didesain untuk mengatasi masalah kerumitan yang terjadi pada bahasa-bahasa pemrograman yang sudah lama, dengan sebuah desain bahasa yang baru yang memang dikhususkan untuk kelas baru yang di dalamnya terdapat para pengguna mesin tersebut, yakni para pengguna yang kurang begitu memahami masalah keteknikan dan juga tidak memiliki latar belakang matematika, dan kurang berminat untuk menekuni bidang matematika. Dengan menggunakan komputer untuk mendukung proses pengajaran dan riset ternyata menarik perhatian banyak kalangan. Pada beberapa tahun kemudian, seiring dengan munculnya beberapa dialek bahasa BASIC lainnya, dialek BASIC buatan Kemeny dan Kurtz dinamakan dengan Dartmouth BASIC.

Prinsip-prinsip yang digunakan dalam mendesain bahasa BASIC antara lain:

Dapat digunakan secara mudah bagi para pemula.
Dapat digunakan sebagai sebuah bahasa pemrograman untuk tujuan umum (general purpose)
Dapat ditambahi fitur-fitur tambahan dan tingkat lanjut untuk para ahli, tetapi tetap mempertahankan kesederhanaan bahasa untuk para pemula.
Harus interaktif.
Pesan-pesan kesalahan harus jelas dan mudah dipahami.
Merespons dengan cepat untuk program-program yang kecil.
Tidak harus membutuhkan pengetahuan dan pemahaman perangkat keras komputer.
Pengguna juga tidak harus tahu mengenai sistem operasi.

Bahasa BASIC sendiri sebagian dibuat dengan berdasar pada FORTRAN II dan sebagian lagi berdasar pada ALGOL 60, dengan adanya tambahan agari ia cocok digunakan untuk time-sharing. Sebelum ada BASIC, di Dartmouth College sudah terdapat DARSIMCO (1956), dan DOPE (implementasi yang dilakukan pada tahun 1962 terhadap SAP) serta DART (1963 yang merupakan FORTRAN II yang disederhanakan). Awalnya, BASIC difokuskan untuk mendukung beberapa pekerjaan matematika dengan dukugan aritmetika matriks dari mulai awal implementasinya sebagai bahasa yang bertumpuk (batch language) untuk kemudian dikembangkan pada tahun 1965 dengan dukungan fungsionalitas string.

BASIC pertama kali diimplementasikan dalam mainframe General Electrics GE-265 yang mendukung banyak terminal. Pada awal perkenalannya, BASIC merupakan bahasa yang dikompilasi, bukan bahasa yang diinterpretasikan, seperti yang dipercaya selama ini oleh banyak orang. BASIC juga sangat efisien, dengan mengalahkan FORTRAN II dan ALGOL 60 di mesin yang sama pada beberapa program matematika, seperti operasi Hukum Simpson.

Para pengembang bahasa BASIC memutuskan bahwa kompilator bahasa BASIC harus tersedia tanpa pungutan biaya sehingga bahasa BASIC dapat berkembang secara luas. Selain itu, mereka juga mendistribusikan BASIC ke sekolah-sekolah menengah atas di Dartmouth selain Dartmouth College, dan juga mempromosikannya. Hasilnya, pengetahuan tentang BASIC menjadi relatif meluas (untuk sebuah bahasa pemrograman), dan BASIC pun akhirnya diimplementasikan oleh banyak pengembang, sehingga menjadi sebuah bahasa pemrograman yang populer untuk komputer mini yang baru seperti seri Programmable Data Processor (PDP) milik Digital Equipment Corporation dan Nova milik Data General. Bahasa BASIC pun juga digunakan di dalam HP Time-Shared BASIC System pada tahun-tahun akhir 1960-an dan awal 1970-an. Pada komputer-komputer tersebut, bahasa BASIC cenderung diimplementasikan sebagai interpreter, bukannya sebagai kompilator.

Beberapa tahun setelah dirilis, beberapa profesional di bidang komputer, terutama Edsger W. Dijkstra, mengutarakan pendapat mereka mengenai penggunaan statemen GOTO, yang tersedia di dalam banyak bahasa pemrograman, termasuk di antaranya BASIC, ternyata membuat praktik pemrograman menjadi buruk[1]. Beberapa bahkan mengeluhkan bahwa bahasa BASIC terlalu lambat (sebagian besar versi BASIC yang diinterpretasikan memang jauh lebih lambat dibandingkan dengan versi yang dikompilasi) atau terlalu sederhana (beberapa versi, terutama untuk komputer-komputer dengan kemampuan yang kecil membuang banyak fitur dan kemampuan yang penting.
[sunting] Era Komputer rumahan

Bahasa BASIC tidaklah serta-merta diakui sebagai bahasa yang populer, meski digunakan pada banyak komputer mini, tetapi saat Micro Instrumentation Telemetry System (MITS) merilis Altair 8800 pada tahun 1975 yang di dalamnya telah terdapat BASIC, BASIC mulai menunjukkan peningkatan yang signifikan. Sebagian besar bahasa pemrograman membutuhkan memori yang lebih besar daripada yang dapat dibeli oleh kebanyakan orang, mengingat memang harga memori saat itu sangatlah mahal. Dengan akses yang lambat yang ditawarkan oleh tape, dan tidak adanya editor teks yang cocok, sebuah bahasa pemrograman seperti BASIC yang dapat melewati beberapa batasan tersebut ternyata sangat menarik. BASIC juga memiliki keunggulan, yakni terkenal oleh para desainer yang memiliki minat terhadap komputer mikro. Usaha Kemeny dan Kurtz yang dilakukan pada awal-awal pengembangan BASIC pun berbuah hasil. Salah satu implementasi bahasa BASIC yang pertama kali muncul untuk mesin dengan mikroprosesor Intel 8080 seperti yang digunakan oleh Altair 8800 adalah Tiny BASIC, sebuah implementasi BASIC yang aslinya ditulis oleh Dr. Li-Chen Wang untuk kemudian ditulis ulang agar dapat berjalan di atas Altair oleh Dennis Allison berdasarkan permintaan dari Bob Albrecht (yang kemudian mendirikan Dr. Dobb's Journal). Kode sumber secara penuh dan desain Tiny BASIC tersedia dan dipublikasikan pada tahun 1976 pada jurnal Dr. Dobb's Journal.

Pada tahun 1975, MITS merilis Altair BASIC, yang dikembangkan oleh William Henry Gates III dan Paul Allen dari Micro-Soft. Versi Altair pertama kali dikembangkan secara bersama-sama oleh Gates, Allen dan Monte Davidoff. Versi Microsoft BASIC pun kemudian segera muncul di beberapa platform komputer mikro lainnya dengan menggunakan lisensi, dan kemudian jutaan salinan pun terjual; Microsoft BASIC pun menjadi bahasa standar yang digunakan oleh komputer Apple II (yang menggunakan MPU Mostek 6502). Hingga tahun 1979, Microsoft pun berbicara dengan beberapa vendor komputer mikro, termasuk di antaranya adalah IBM, mengenai lisensi interpreter bahasa BASIC untuk komputer yang mereka bangun. Sebuah versi pun dimasukkan ke dalam chip ROM dalam IBM PC, sehingga komputer PC tanpa disket floppy akan dapat memulai langsung sesi pemrograman BASIC seperti halnya komputer mikro lainnya.

Beberapa perusahaan baru pun mencoba mengikuti jejak-jejak sukses MITS, IMSAI, North Star dan Apple sehingga membuat sebuah industri komputer rumahan sendiri; sementara itu, BASIC telah menjadi fitur standar dari semua komputer rumahan tapi sebagian kecil komputer rumahan memang tidak memilikinya. Sebagian besar komputer rumahan datang dengan interpreter bahasa BASIC di dalam ROM, sehingga pembelian disket yang cukup mahal pun menjadi tidak perlu dilakukan lagi. Beberapa saat kemudian, ternyata mesin yang menjalankan varian-varian BASIC di seluruh dunia sudah menjadi sangat banyak, bahkan jumlahnya lebih besar dibandingkan dengan pengguna semua bahasa pemrograman, meski semuanya digabungkan. Dialek yang digunakan oleh BASIC pada zaman ini juga sedikit berbeda dari satu implementasi dengan implementasi lainnya. Tetapi, sebagian besar komputer yang beredar pada tahun 1980-an memiliki interpreter bahasa BASIC yang disimpan di dalam ROM.

Kemudian BBC pun menerbitkan BBC BASIC, sebuah versi bahasa BASIC yang dikembangkan oleh Acorn Computers, Ltd untuk BBC, yang memasukkan beberapa peningkatan tambahan seperti halnya pembuatan struktur terhadap kata kunci, dan juga akses secara langsung terhadap sistem operasi. Selain itu, varian ini juga memiliki assembler yang terintegrasi. BBC BASIC memang diakui sebagai sebuah dialek BASIC yang bagus, dan kemudian lebih dari 30 platform lainnya selain komputer mikro BBC pun mengadopsinya.
[sunting] Contoh progam

Berikut ini adalah contoh program yang ditulis dalam bahasa Visual BASIC

Private Sub Command1_Click()
Dim a, b As Integer
a = txt1.Text
b = txt2.Text
txt3.Text = a + b
txt4.Text = a / b
txt5.Text = a - b
txt6.Text = a * b
txt7.Text = a ^ b
End Sub

Private Sub Command2_Click()
txt1.Text = ""
txt2.Text = ""
txt3.Text = ""
txt4.Text = ""
txt5.Text = ""
txt6.Text = ""
txt7.Text = ""
End Sub

Private Sub Command3_Click()
End
End Sub

[sunting] Implementasi

Berikut ini adalah beberapa implementasi BASIC:

Dartmouth BASICadi
Tiny BASIC
GW-BASIC
Microsoft BASIC (MBasic)
Microsoft Visual Basic (VB)
Microsoft Visual Basic .NET (VB.NET)
Microsoft QuickBasic (QBasic)
DarkBasic
Gambas
Borland Turbo BASIC

bahasa pemrograman komputer C++

C++ adalah bahasa pemrograman komputer C++ dikembangkan di Bell Labs (Bjarne Stroustrup) pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa sebelumnya, yaitu BCL, Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem Unix, Pada perkembangannya, versi ANSI (American National Standart Institute) Bahasa pemrograman C menjadi versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup pada Bell labs pertama kali mengembangkan C++ pada awal 1980-an, Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman tingkat rendah (low level coding).[1] Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan overloading.[rujukan?] Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).[2]

Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa tersebut menggunakan sintaks yang sama tetapi mereka memiliki perbedaan, C merupakan bahasa pemrograman prosedural, dimana penyelesaian suatu masalah dilakukan dengan membagi-bagi masalah tersebut kedalam su-submasalah yang lebih kecil, Selain itu, C++ merupakan bahasa pemrograman yang memiliki sifat Pemrograman berorientasi objek, Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan Class.[3]


Daftar isi
[sembunyikan]

1 Contoh Program C++
2 Keterangan
3 Kata yang dipesan
3.1 Kelompok pertama
3.2 Kelompok kedua
4 Tipe data dasar
5 Daftar C++ compiler
6 Pranala luar
7 Referensi

[sunting] Contoh Program C++

Contoh program sederhana C++ untuk hello world dengan menggunakan Pustaka Dasar C++ dapat dilihat di bawah ini:[rujukan?]

#include
int main()
{
std::cout << "hello world\n"; return 0; } [4] [sunting] Keterangan Baris pertama : #include

Sebagai bagian dari proses kompilator, Kompilator dari c++ menjalankan program yang dinamakan preprosesor.[rujukan?] Preprosesor memiliki kemampuan menambahkan dan menghapus kode dari sumber, Pada bagian #include memberitahuakan preprosesor untuk menyertakan kode dari iostream, Berkas iostream berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh perangkat lunak, atau class-class yang dibutuhkan.[4]

Baris kedua :

int main ()

Pernyataan ini mendeklarasikan fungsi utama, bahwa suatu program C++ dapat berisi banyak fungsi, yang harus selalu memiliki sebuah fungsi utama (main function), Fungsi adalah modul yang berisi kode-kode untuk menyelesaikan masalah-masalah tertentu. Kata Void menandakan fungsi main tidak bertipe.[4]

Baris ketiga :

{

Kurung kurawal buka menandakan awal program.[4]

Baris keempat :

std::cout << "Hello world\n";

Cout adalah sebuah object dari Pustaka perangkat lunak standart C++ yang digunakan untuk mencetak string ke piranti output standart, yang biasanya adalah layar komputer, Compiler menghubungkan kode dari pustaka perangkat lunak standar itu dengan kode yang telah ditulis untuk mendapatkan hasil executable, Tanda

\n

adalah format modifier yang digunakan untuk bergabti baris setelah menampilkan string, jika ada cout lain pada program tersebut, maka string yang menyertainya akan dituliskan pada baris bawahnya.[4] Baris kelima:

}

Kurung kurawal tutup menandakan akhir program.[5]
[sunting] Kata yang dipesan
[sunting] Kelompok pertama

C++ mempunyai 32 buah kata yang dipesan (reserved words), Kata kunci kelompok pertama merupakan turunan dari bahasa C, di antaranya:.[5]
auto const double float int short struct unsigned
break continue else for long signed switch void
case default enum goto register sizeof typedef volatile
char do extern if return static union while

[6]
[sunting] Kelompok kedua

Kata yang dipesan kelompok kedua berjumlah 30. Kata-kata ini adalah baru dan hanya ada di bahasa C++.[6]
asm dynamic_cast namespace reinterpret_cast try
bool explicit new static_cast typeid
catch false operator template typename
class friend private this using
const_cast inline public throw virtual
delete mutable protected true wchar_t

Kata-kata yang dipesan tersebut di atas tidak boleh dipakai sebagai nama variable, class, enum, macro, dan struct.[6]
[sunting] Tipe data dasar

Untuk menyimpan suatu variabel diperlukan tempat khusus di dalam memori komputer, Besar dan tipe dari Variabel-variabel di dalam standar program C++ dispesifikasikan sebagai berikut.[6]
Nama Keterangan Ukuran Jangkauan
char Abjad/karakter atau untuk bilangan bulat kecil 1 byte signed: -128 to 127

unsigned: 0 to 255
short int (short) Bilangan bulat dengan jangkauan pendek 2 byte signed: -32768 to 32767

unsigned: 0 to 65535
int Bilangan bulat 4 byte signed: -2147483648 to 2147483647

unsigned: 0 to 4294967295
long int (long) Integer dengan jangkauan panjang 4 byte signed: -2147483648 to 2147483647

unsigned: 0 to 4294967295
bool Boolean, dapat bernilai benar atau salah (true or false) i byte true or false
float Angka dengan titik mengambang (bilangan cacah) 4 byte 3.4e +/- 38 (7 digit)
double Bilangan cacah dengan ketelitian ganda 8 byte 1.7e +/- 308 (15 digits)
long double Bilangan cacah dengan ketelitian ganda panjang 8 byte 1.7e +/- 308 (15 digits)
wchar_t Karakter lebar, biasa dipakai untuk Unicode karakter 2 byte 1 karakter lebar
[sunting] Daftar C++ compiler

Untuk mengubah kode-kode C++ program menjadi suatu program aplikasi yang dimengerti oleh sistem operasi dan komputer, diperlukan sebuah kompilator C++.[rujukan?] Berikut ini adalah beberapa kompilator C++ yang dapat digunakan secara gratis,

Microsoft Visual C++ 2005 Express
Turbo C++ Explorer
Apple Xcode for Mac OS X
Open Source Watcom / OpenWatcom C/C++ Compiler
Digital Mars C/C++ Compiler (Symantec C++ Replacement)
Bloodshed Dev-C++ C++ Compiler
Free Microsoft .NET Framework Software Development Kit (SDK) / Free Microsoft Visual C++ Compiler
Intel C++ Compiler for Linux Non-Commercial Version
Sun Studio Compilers and Tools
Open64 Compiler Tools
Apple's Macintosh Programmer's Workshop (C and C++ compilers)
TenDRA C/C++ Compiler
GNU C/C++ Compiler
Ch Embeddable C/C++ Interpreter (Standard Edition)
DJGPP C and C++ Compilers
CINT C and C++ Interpreter
SDCC C Cross-compiler
Cygwin Project (C & C++ Compilers)
SDCC C Cross-compiler

Pascal (bahasa pemrograman)

Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari matematikawan Perancis, Blaise Pascal, yang pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu.
Kelebihan dari bahasa pemrograman Pascal adalah:

Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada kebanyakan bahasa pemrograman. Pascal memiliki tipe data standar: boolean, integer, real, char, string,
User defined Data Types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.
Strongly-typed, programmer harus menentukan tipe data dari suatu variabel, dan variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari format yang ditentukan.
Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedure dan function) yang dapat dipergunakan berulang-ulang.
Sederhana dan Ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa Inggris) sehingga mudah dipelajari dan dipahami.

Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar bahasa pemrograman bagi tim nasional Olimpiade Komputer Indonesia (TOKI). Selain itu, Bahasa PASCAL masih digunakan dalam IOI (International Olympiad in Informatics).
[sunting] Tipe Data

Dalam bahasa Pascal terdapat beberapa jenis tipe data yang bisa digunakan untuk sebuah variabel atau konstanta pada program. Tipe Data tersebut antara lain adalah
Tipe Data Deskripsi (range variabel)
Byte angka dari 0 sampai 255
Integer angka dari -32768 to 32767
Real semua nilai pecahan dari 1E-38 to 1E+38
Boolean nilai TRUE atau FALSE
Char semua karakter dari tabel ASCII
String semua huruf, spasi, frase
[sunting] Hello World

Contoh program Hello World menggunakan bahasa pascal adalah sebagai berikut:

Program HelloWorld;
begin
writeln('Hello world');

end.

Pemrograman komputer

Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram. Untuk dapat melakukan pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan di banyak kasus, pengetahuan-pengetahuan lain seperti matematika.

Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih algoritma yang saling berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu sehingga menjadi sebuah program komputer. Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda pula. Gaya pemrograman ini biasa disebut paradigma pemrograman.

Apakah memprogram perangkat lunak lebih merupakan seni, ilmu, atau teknik telah lama diperdebatkan. Pemrogram yang baik biasanya mengkombinasikan tiga hal tersebut, agar dapat menciptakan program yang efisien, baik dari sisi waktu berjalan (running time), atau memori.


[sunting] Bahasa Pemrograman

Perbedaan bahasa pemrograman dapat menjadi penyebab perbedaan paradigma pemrograman. Pilihan bahasa pemrograman dipengaruhi banyak alasan, seperti kecocokan dengan kriteria program dan jenis aplikasi yang akan dibuat.

Beberapa bahasa pemrograman adalah:

Pascal
Basic
C atau C++
Cobol
Java
Fortran
Ada
Clipper

[sunting] Pemrograman Kompetitif

Pemrograman adalah bahan yang banyak digunakan di berbagai kompetisi komputer di Indonesia maupun dunia. Di tingkat SMA, contohnya, pemrograman dipertandingkan dalam Olimpiade Sains Nasional setiap tahunnya. Ketigapuluh peraih medali di Olimpiade Sains Nasional ini kemudian menjadi Tim Olimpiade Komputer Indonesia, dan menempuh Pelatihan Nasional yang menyeleksi empat orang wakil untuk mengikuti Olimpiade Sains Internasional bidang Informasi (International Olympiad in Informatics) yang diadakan setiap tahunnya.

nama ;feriyadi tav 1

Perangkat lunak bebas

Synaptic.png Artikel bertopik perangkat lunak ini adalah sebuah rintisan. Anda dapat membantu Wikipedia dengan mengembangkannya.

1 Overview

* 2 Sejarah pemrograman
* 3 Modern pemrograman
o 3,1 persyaratan Kualitas
o kompleksitas algoritmik 3,2
3,3 o Metodologi
3,4 o Mengukur pemakaian bahasa
3,5 o Debugging
* 4 Bahasa pemrograman
* 5 Programmers
* 6 Lihat juga
* 7 Referensi
* 8 Bacaan lebih lanjut
* 9 Pranala luar

[sunting] Sekilas Cari Wikiversity Wikiversity memiliki bahan belajar tentang pemrograman

Dalam rekayasa perangkat lunak, pemrograman (pelaksanaan) dianggap sebagai salah satu tahap dalam proses pengembangan perangkat lunak.

Ada sebuah perdebatan yang sedang berlangsung pada sejauh mana program penulisan adalah seni, kerajinan atau disiplin teknik. [1] Secara umum, baik programming adalah dianggap sebagai aplikasi diukur dari ketiga, dengan tujuan menghasilkan efisien dan solusi perangkat lunak evolvable (kriteria untuk "efisien" dan "evolvable" sangat bervariasi). Disiplin yang berbeda dari berbagai profesi teknis dalam programer, pada umumnya, tidak perlu izin atau lulus standar (atau governmentally diatur) tes sertifikasi untuk menyebut diri mereka "programer" atau bahkan "insinyur perangkat lunak." Namun, mewakili diri sendiri sebagai seorang "Professional Software Engineer" tanpa lisensi dari lembaga yang terakreditasi ilegal di banyak bagian dunia. [Rujukan?]

Lain sedang berlangsung perdebatan adalah sejauh mana bahasa pemrograman yang digunakan dalam menulis program komputer yang memengaruhi bentuk program akhir diperlukan. Perdebatan ini analog dengan mengelilingi hipotesis Sapir-Whorf [2] dalam linguistik, yang mendalilkan bahwa suatu bahasa tertentu sifat memengaruhi pikiran kebiasaan dari speaker. Pola bahasa yang berbeda menghasilkan pola pikir yang berbeda. Ide ini menantang kemungkinan mewakili dunia secara sempurna dengan bahasa, karena mengakui bahwa mekanisme bahasa apapun kondisi pikiran pembicara dari masyarakat.

Kata lain, pemrograman adalah kerajinan persyaratan mengubah menjadi sesuatu yang dapat mengeksekusi sebuah komputer. [sunting] Sejarah pemrograman Lihat juga: Sejarah bahasa pemrograman Wired plug board untuk IBM 402 Accounting Machine.

Konsep perangkat yang beroperasi setelah telah ditetapkan, set instruksi ditelusuri ke Mitologi Yunani, terutama Hephaestus dan pelayan mekanis [3]. Para mekanisme Antikythera kalkulator menggunakan persneling dari berbagai ukuran dan konfigurasi untuk menentukan operasi. Dikenal paling awal dapat diprogram mesin (mesin yang perilakunya dapat dikendalikan dan diprediksi dengan satu set instruksi) adalah Al-Jazari's programmable Automata pada 1206. [4] Salah seorang Al-Jazari's robot ini awalnya sebuah perahu otomatis dengan empat musisi yang mengambang di danau untuk menghibur para tamu di pesta minum kerajaan. Pemrograman perilaku mekanisme ini berarti menempatkan pasak dan Cams ke drum kayu di lokasi tertentu. Ini kemudian akan bertabrakan dengan pengungkit kecil yang beroperasi alat musik perkusi. Keluaran dari perangkat ini adalah drumer kecil bermain berbagai ritme dan pola drum. [5] [6] canggih lainnya mesin diprogram oleh Al-Jazari adalah benteng jam, terkenal karena konsep variabel, yang operator bisa memanipulasi yang diperlukan ( yaitu, panjang siang dan malam). The Jacquard Loom, Joseph Marie Jacquard yang dikembangkan pada tahun 1801, menggunakan serangkaian kartu karton dengan menekan lubang di dalamnya. Pola lubang pola yang mewakili alat tenun harus mengikuti menenun kain. Alat tenun bisa menghasilkan tenun yang sama sekali berbeda dengan menggunakan kumpulan kartu yang berbeda. Charles Babbage mengadopsi penggunaan kartu menekan sekitar tahun 1830 untuk mengendalikan Analytical Engine. Sintesis perhitungan numerik, operasi dan output telah ditentukan, bersama dengan cara untuk mengatur dan masukan petunjuk dalam cara yang relatif mudah bagi manusia untuk hamil dan menghasilkan, menyebabkan perkembangan modern pemrograman komputer. Pengembangan pemrograman komputer dipercepat melalui Revolusi Industri.

Pada akhir 1880-an, Herman Hollerith menciptakan rekaman data pada media yang kemudian dapat dibaca oleh mesin. Sebelum menggunakan mesin yang dapat dibaca dari media, di atas, telah untuk kontrol, bukan data. "Setelah beberapa percobaan awal dengan kertas pita, ia menetap di kartu menekan ..."[ 7] Untuk memproses kartu menekan ini, pertama dikenal sebagai" kartu Hollerith "dia menciptakan mesin tabulasi, dan kunci mesin punch. Ketiga penemuannya dasar dari industri pengolahan informasi modern. Pada tahun 1896 ia mendirikan Tabulating Machine Company (yang kemudian menjadi inti dari IBM). Penambahan panel kontrol ke Tipe I Tabulator 1906 memungkinkannya untuk melakukan pekerjaan yang berbeda tanpa harus secara fisik dibangun kembali. Pada akhir 1940-an, ada berbagai plug-board programmable mesin, yang disebut catatan unit peralatan, untuk melakukan tugas-tugas pengolahan data (kartu membaca). Pemrogram komputer awal plug-papan yang digunakan untuk berbagai perhitungan kompleks diminta dari mesin yang baru diciptakan. Data dan instruksi dapat disimpan pada kartu punch eksternal, yang disimpan dalam rangka program dan disusun dalam deck.

Penemuan arsitektur Von Neumann memungkinkan program komputer untuk disimpan dalam memori komputer. Program awal harus susah payah dibuat dengan menggunakan instruksi mesin tertentu, sering kali dalam notasi biner. Setiap model komputer mungkin akan memerlukan berbagai instruksi untuk melakukan tugas yang sama. Bahasa assembly kemudian dikembangkan yang memungkinkan programmer menentukan setiap instruksi dalam format teks, singkatan memasukkan kode untuk setiap operasi, bukan menetapkan sebuah nomor dan alamat dalam bentuk simbolik (misalnya, ADD X, TOTAL). Pada tahun 1954 ditemukan Fortran, menjadi yang pertama bahasa pemrograman tingkat tinggi yang memiliki implementasi fungsional. [8] [9] Hal diperbolehkan pemrogram untuk menentukan perhitungan dengan memasukkan formula secara langsung (misalnya Y = X * 2 + 5 * X + 9) . Program teks, atau sumber, diubah menjadi instruksi mesin menggunakan program khusus yang disebut kompilator. Banyak bahasa lainnya dikembangkan, termasuk beberapa program untuk komersial, seperti COBOL. Program itu sebagian besar masih masuk menggunakan kartu atau kertas punch tape. (Lihat pemrograman komputer di era kartu punch). Pada akhir 1960-an, perangkat penyimpanan data dan terminal komputer menjadi cukup murah sehingga program dapat dibuat dengan mengetikkan langsung ke dalam komputer. Editor teks dikembangkan yang memungkinkan perubahan dan perbaikan harus dilakukan jauh lebih mudah dibandingkan dengan punch card.

Ketika waktu telah berkembang, komputer telah membuat lompatan raksasa di bidang pengolahan kekuasaan. Ini telah membawa bahasa pemrograman baru yang lebih disarikan dari hardware yang mendasarinya. Walaupun bahasa tingkat tinggi biasanya dikenakan biaya overhead yang lebih besar, peningkatan kecepatan komputer modern telah membuat penggunaan bahasa-bahasa ini jauh lebih praktis daripada di masa lalu. Ini semakin disarikan bahasa biasanya lebih mudah untuk belajar dan memungkinkan para programmer untuk mengembangkan aplikasi jauh lebih efisien dan dengan lebih sedikit kode. Namun, bahasa tingkat tinggi masih praktis untuk beberapa program, seperti yang di mana tingkat rendah diperlukan pengendalian perangkat keras atau di mana kecepatan pemrosesan berada pada premi.

Sepanjang paruh kedua abad kedua puluh, pemrograman adalah karier yang menarik di sebagian besar negara-negara maju. Beberapa bentuk pemrograman telah lepas pantai semakin tunduk pada outsourcing (impor perangkat lunak dan jasa dari negara-negara lain, biasanya pada upah yang lebih rendah), membuat keputusan karier pemrograman di negara maju lebih rumit, sementara meningkatkan peluang ekonomi di daerah-daerah kurang berkembang. Tidak jelas sejauh mana tren ini akan berlanjut dan seberapa dalam dampak akan programmer upah dan kesempatan. [sunting] Modern pemrograman [sunting] Kualitas persyaratan

Apapun pendekatan pengembangan perangkat lunak mungkin, program akhir harus memenuhi beberapa sifat mendasar. Properti berikut adalah di antara yang paling relevan:

Efisiensi / kinerja: jumlah sumber daya sistem program yang mengonsumsi (prosesor waktu, ruang memori, perangkat lambat seperti disk, bandwidth jaringan dan bahkan sampai batas tertentu interaksi dari pemakai): semakin sedikit, semakin baik. Ini juga termasuk pembuangan benar beberapa sumber, seperti membersihkan file-file sementara dan tidak adanya kebocoran memori.
Reliabilitas: seberapa sering hasil dari sebuah program sudah benar. Hal ini tergantung pada kebenaran konseptual algoritma, dan pemrograman minimisasi kesalahan, seperti kesalahan dalam manajemen sumber daya (misalnya, buffer overflows dan ras kondisi) dan kesalahan logika (seperti pembagian dengan nol).
Kekokohan: seberapa baik program masalah mengantisipasi bukan karena kesalahan programmer. Ini termasuk situasi seperti salah, tidak pantas atau merusak data, tidak tersedianya sumber daya yang dibutuhkan seperti memori, sistem operasi layanan dan koneksi jaringan, dan kesalahan pengguna.
Kegunaan: yang ergonomi sebuah program: kemudahan dengan mana seseorang dapat menggunakan program untuk tujuan, atau dalam beberapa kasus bahkan tujuan tak terduga. Isu-isu tersebut dapat membuat atau menghancurkan kesuksesan bahkan tanpa masalah lain. Hal ini melibatkan berbagai tekstual, grafis dan kadang-kadang elemen-elemen perangkat keras yang meningkatkan kejelasan, intuitif, kekompakan dan kelengkapan program antarmuka pengguna.
Portabilitas: kisaran perangkat keras komputer dan platform sistem operasi yang kode sumber dari program dapat dikompilasi / ditafsirkan dan lari. Hal ini tergantung pada perbedaan-perbedaan dalam fasilitas pemrograman yang disediakan oleh platform yang berbeda, termasuk hardware dan sistem operasi sumber daya, perilaku yang diharapkan dari hardware dan sistem operasi, dan ketersediaan platform compiler tertentu (dan kadang-kadang perpustakaan) untuk bahasa dari source code.
Kemampu-rawatan: kemudahan dengan sebuah program yang dapat dimodifikasi oleh pengembang sekarang atau di masa mendatang dalam rangka untuk membuat perbaikan atau penyesuaian, memperbaiki bug dan lubang keamanan, atau disesuaikan dengan lingkungan baru. Praktek yang baik selama pengembangan awal membuat perbedaan dalam hal ini. Kualitas ini mungkin tidak secara langsung jelas bagi pengguna akhir tetapi dapat secara signifikan memengaruhi nasib sebuah program jangka panjang.

[sunting] algorithmic kompleksitas

Bidang akademik dan praktik teknik pemrograman komputer yang baik terutama berkaitan dengan menemukan dan menerapkan algoritma yang paling efisien untuk suatu masalah kelas. Untuk tujuan ini, algoritma diklasifikasikan menjadi perintah dengan menggunakan apa yang disebut notasi Big O, O (n), yang mengungkapkan penggunaan sumber daya, seperti waktu eksekusi atau pemakaian memori, dalam hal ukuran sebuah input. Ahli programmer yang akrab dengan berbagai mapan algoritma dan kompleksitas masing-masing dan menggunakan pengetahuan ini untuk memilih algoritma yang paling cocok dengan keadaan. [sunting] Metodologi

Langkah pertama dalam sebagian besar proyek-proyek pengembangan perangkat lunak formal adalah analisis persyaratan, diikuti dengan pengujian untuk menentukan model nilai, pelaksanaan, dan kegagalan penghapusan (debug). Terdapat banyak pendekatan yang berbeda untuk masing-masing tugas. Salah satu pendekatan yang populer untuk analisis kebutuhan adalah Kasus Gunakan analisis.

Teknik model populer meliputi Object-Oriented Analysis and Design (OOAD) dan Model-Driven Architecture (MDA). The Unified Modeling Language (UML) adalah sebuah notasi yang digunakan untuk kedua OOAD dan MDA.

Teknik yang sama digunakan untuk desain database adalah Entity-Relationship Modeling (ER Modeling).

Pelaksanaan teknik termasuk bahasa imperatif (object-oriented atau prosedural), fungsional bahasa, dan logika bahasa. [sunting] Mengukur pemakaian bahasa

Sangat sulit untuk menentukan apa yang paling populer bahasa pemrograman modern. Beberapa bahasa yang sangat populer untuk jenis aplikasi tertentu (misalnya, COBOL masih kuat di pusat data perusahaan, sering pada mainframe besar, FORTRAN dalam aplikasi teknik, bahasa scripting dalam pengembangan web, dan C dalam aplikasi embedded), sementara beberapa bahasa teratur digunakan untuk menulis berbagai macam aplikasi.

Metode untuk mengukur popularitas bahasa pemrograman meliputi: menghitung jumlah iklan lowongan pekerjaan yang menyebutkan bahasa [10], jumlah buku-buku pengajaran bahasa yang dijual (overestimates ini pentingnya bahasa baru), dan perkiraan jumlah baris yang ada kode yang ditulis dalam bahasa (meremehkan ini jumlah pengguna bahasa bisnis seperti COBOL). [sunting] Debugging Sebuah bug, yang debugged pada tahun 1947.

Debugging adalah tugas yang sangat penting dalam proses pengembangan perangkat lunak, karena program yang salah dapat memiliki konsekuensi yang signifikan bagi penggunanya. Beberapa bahasa yang lebih rentan terhadap beberapa jenis kesalahan karena mereka tidak memerlukan spesifikasi kompiler untuk melakukan pengecekan sebanyak bahasa lainnya. Penggunaan alat analisis statis dapat membantu mendeteksi beberapa kemungkinan masalah.

Debug sering dilakukan dengan IDE seperti Visual Studio, NetBeans, dan Eclipse. Standalone debugger seperti gdb juga digunakan, dan ini kurang sering menyediakan lingkungan visual, biasanya menggunakan baris perintah. [sunting] Bahasa pemrograman Artikel utama: bahasa pemrograman dan bahasa pemrograman Daftar

Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda (disebut paradigma pemrograman). Pilihan bahasa yang digunakan adalah tunduk pada banyak pertimbangan, seperti kebijakan perusahaan, kesesuaian untuk tugas, ketersediaan pihak ketiga paket, atau keinginan individunya. Idealnya, bahasa pemrograman yang paling cocok untuk tugas yang dihadapi akan dipilih. Trade-off dari ideal ini melibatkan cukup menemukan programmer yang tahu bahasa untuk membangun sebuah tim, ketersediaan compiler untuk bahasa, dan efisiensi dengan program-program yang ditulis dalam bahasa tertentu mengeksekusi.

Allen Downey, dalam bukunya How To Think Like A Computer Scientist, menulis:

Rincian terlihat berbeda dalam berbagai bahasa, tetapi beberapa petunjuk dasar muncul di hampir setiap bahasa:

* Input: Get data dari keyboard, file, atau beberapa perangkat lain.
* Output: Display data pada layar atau mengirim data ke file atau perangkat lain.
* Berhitung: Lakukan operasi aritmatika dasar seperti penjumlahan dan perkalian.
* Bersyarat eksekusi: Periksa kondisi tertentu dan melaksanakan urutan sesuai pernyataan.
* Pengulangan: Lakukan beberapa tindakan berulang-ulang, biasanya dengan beberapa variasi.

Banyak bahasa komputer menyediakan mekanisme untuk memanggil fungsi yang disediakan oleh perpustakaan. Menyediakan fungsi-fungsi di perpustakaan mengikuti konvensi runtime yang sesuai (misalnya, metode lewat argumen), maka fungsi-fungsi ini dapat ditulis dalam bahasa lainnya. [sunting] Pemrogram Artikel utama: Programmer Lihat juga: Software pengembang dan Software engineer

Pemrogram komputer adalah orang-orang yang menulis perangkat lunak komputer. Pekerjaan mereka biasanya meliputi:

* Coding
* Kompilasi
* Dokumentasi
* Integrasi
* Pemeliharaan
* Persyaratan analisis
* Software arsitektur
* Software pengujian
* Spesifikasi
* Debugging

Osiloskop

Osiloskop adalah alat ukur elektronika yang berfungsi memproyeksikan bentuk sinyal listrik agar dapat dilihat dan dipelajari.[1] Osiloskop dilengkapi dengan tabung sinar katode.[1] Peranti pemancar elektron memproyeksikan sorotan elektron ke layar tabung sinar katode.[1] Sorotan elektron membekas pada layar.[1] Suatu rangkaian khusus dalam osiloskop menyebabkan sorotan bergerak berulang-ulang dari kiri ke kanan.[1] Pengulangan ini menyebabkan bentuk sinyal kontinyu sehingga dapat dipelajari.[1]
Oskiloskop untuk mengukur beda fase gelombang


Osiloskop biasanya digunakan untuk mengamati bentuk gelombang yang tepat dari sinyal listrik. Selain amplitudo sinyal, osiloskop dapat menunjukkan distorsi, waktu antara dua peristiwa (seperti lebar pulsa, periode, atau waktu naik) dan waktu relatif dari dua sinyal terkait.[2]

Semua alat ukur elektronik bekerja berdasarkan sampel data, semakin tinggi sampel data, semakin akurat peralatan elektronik tersebut. Osiloskop, pada umumnya juga mempunyai sampel data yang sangat tinggi, oleh karena itu osiloskop merupakan alat ukur elektronik yang mahal. Jika sebuah osiloskop mempunyai sampel rate 10 Ks/s (10 kilo sample/second = 10.000 data per detik), maka alat ini akan melakukan pembacaan sebanyak 10.000 kali dalam sedetik. Jika yang diukur adalah sebuah gelombang dengan frekuensi 2500Hz, maka setiap sampel akan memuat data 1/4 dari sebuah gelombang penuh yang kemudian akan ditampilkan dalam layar dengan grafik skala XY.

Adder

Penjumlah biner
Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Perubahan tertunda ditampilkan di halaman iniBelum Diperiksa

Penjumlah atau Adder adalah komponen elektronika digital yang dipakai untuk menjumlahkan dua buah angka dalam sistem bilangan biner. Dalam komputer dan mikroprosesor, Adder biasanya berada di bagian ALU (Arithmetic Logic Unit). Sistem bilangan yang dipakai dalam proses penjumlahan, selain bilangan biner, juga 2's complement untuk bilangan negatif, bilangan BCD (binary-coded decimal), dan excess-3. Jika sistem bilangan yang dipakai adalah 2's complement, maka proses operasi penjumlahan dan operasi pengurangan akan sangat mudah dilakukan.
Diagram sirkuit Half-Adder

Pembicaraan mengenai Adder biasanya dimulai dari Half-Adder, kemudian Full-Adder, dan yang ketiga adalah Ripple-Carry-Adder. Pada Half-Adder, berdasarkan dua input A dan B, maka output Sum, S dari Adder ini akan dihitung berdasarkan operasi XOR dari A dan B. Selain output S, ada satu output yang lain yang dikenal sebagai C atau Carry, dan C ini dihitung berdasarkan operasi AND dari A dan B. Pada prinsipnya output S menyatakan penjumlahan bilangan pada input A dan B, sedangkan output C menyatakan MSB (most significant bit atau carry bit) dari hasil jumlah itu.

S = (A \oplus B)
C = (A \cdot B)

Tabel logika/kebenaran dari Half-Adder akan mengikuti seperti berikut:
Input Output
A B C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Diagram blok Full-Adder

Rangkaian Full-Adder, pada prinsipnya bekerja seperti Half-Adder, tetapi mampu menampung bilangan Carry dari hasil penjumlahan sebelumnya. Jadi jumlah inputnya ada 3: A, B dan Ci, sementara bagian output ada 2: S dan Co. Ci ini dipakai untuk menampung bit Carry dari penjumlahan sebelumnya.

S = (A \oplus B) \oplus C_i
C_o = (A \cdot B) + (C_i \cdot (A \oplus B)) = (A \cdot B) + (B \cdot C_i) + (C_i \cdot A)

Diagram sirkuit Full-Adder
Input Output
A B Ci Co S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

Rangkaian dari n buah Full-Adder bisa dipakai untuk menjumlahkan n bit bilangan biner. Maka dalam hal ini, kita akan memperoleh rangkaian yang disebut Ripple-Carry-Adder.

Register

Register prosesor, dalam arsitektur komputer, adalah sejumlah kecil memori komputer yang bekerja dengan kecepatan sangat tinggi yang digunakan untuk melakukan eksekusi terhadap program-program komputer dengan menyediakan akses yang cepat terhadap nilai-nilai yang umum digunakan. Umumnya nilai-nilai yang umum digunakan adalah nilai yang sedang dieksekusi dalam waktu tertentu.

Register prosesor berdiri pada tingkat tertinggi dalam hierarki memori: ini berarti bahwa kecepatannya adalah yang paling cepat; kapasitasnya adalah paling kecil; dan harga tiap bitnya adalah paling tinggi. Register juga digunakan sebagai cara yang paling cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat ditampung olehnya, seperti "register 8-bit", "register 16-bit", "register 32-bit", atau "register 64-bit" dan lain-lain.

Istilah register saat ini dapat merujuk kepada kumpulan register yang dapat diindeks secara langsung untuk melakukan input/output terhadap sebuah instruksi yang didefinisikan oleh set instruksi. untuk istilah ini, digunakanlah kata "Register Arsitektur". Sebagai contoh set instruksi Intel x86 mendefinisikan sekumpulan delapan buah register dengan ukuran 32-bit, tapi CPU yang mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan register 32-bit.
[sunting] Jenis register

Register terbagi menjadi beberapa kelas:

Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
Register alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.
Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang (floating-point).
Register konstanta (constant register), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phi, null, true, false dan lainnya.
Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
Register special purpose yang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status register.
Register yang spesifik terhadap model mesin (machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi prosesor.

[sunting] Ukuran register

Tabel berikit berisi ukuran register dan padanan prosesornya
Register Prosesor
4-bit Intel 4004
8-bit Intel 8080
16-bit Intel 8086, Intel 8088, Intel 80286
32-bit Intel 80386, Intel 80486, Intel Pentium Pro, Intel Pentium, Intel Pentium 2, Intel Pentium 3, Intel Pentium 4, Intel Celeron, Intel Xeon, AMD K5, AMD K6, AMD Athlon, AMD Athlon MP, AMD Athlon XP, AMD Athlon 4, AMD Duron, AMD Sempron
64-bit Intel Itanium, Intel Itanium 2, Intel Xeon, Intel Core, Intel Core 2, AMD Athlon 64, AMD Athlon X2, AMD Athlon FX, AMD Turion 64, AMD Turion X2, AMD Sempron

Gerbang logika

Gerbang logika
Dari Wikipedia bahasa Indonesia, ensiklopedia bebas

Gerbang logika atau gerbang logik adalah suatu entitas dalam elektronika dan matematika Boolean yang mengubah satu atau beberapa masukan logik menjadi sebuah sinyal keluaran logik. Gerbang logika terutama diimplementasikan secara elektronis menggunakan dioda atau transistor, akan tetapi dapat pula dibangun menggunakan susunan komponen-komponen yang memanfaatkan sifat-sifat elektromagnetik (relay), cairan, optik dan bahkan mekanik.
[sunting] Ringkasan jenis-jenis gerbang logika
Nama Fungsi Lambang dalam rangkaian Tabel kebenaran
IEC 60617-12 US-Norm DIN 40700 (sebelum 1976)
Gerbang-AND
(AND) Y = A \wedge B

Y = A\cdot B

Y = A\,B IEC AND label.svg Logic-gate-and-us.svg Logic-gate-and-de.png
A B Y
0 0 0
0 1 0
1 0 0
1 1 1
Gerbang-OR
(OR) Y = A \vee B

Y = A + B\! IEC OR label.svg Logic-gate-or-us.png Logic-gate-or-de.png
A B Y
0 0 0
0 1 1
1 0 1
1 1 1
Gerbang-NOT
(NOT, Gerbang-komplemen, Pembalik(Inverter)) Y = \overline{A}

Y = \neg A IEC NOT label.svg Logic-gate-inv-us.png Logic-gate-inv-de.png \
A Y
0 1
1 0
Gerbang-NAND
(Not-AND) Y = \overline{A \wedge B}

Y = A \overline{\wedge} B

Y = \overline{A\,B} IEC NAND label.svg Logic-gate-nand-us.png Logic-gate-nand-de.png
A B Y
0 0 1
0 1 1
1 0 1
1 1 0
Gerbang-NOR
(Not-OR) Y = \overline{A \vee B}

Y = A \overline{\vee} B

Y = \overline{A + B} IEC NOR label.svg Logic-gate-nor-us.png Logic-gate-nor-de.png
A B Y
0 0 1
0 1 0
1 0 0
1 1 0
Gerbang-XOR
(Antivalen, Exclusive-OR) Y = A \,\underline{\lor}\, B

Y = A \oplus B IEC XOR label.svg Logic-gate-xor-us.png Logic-gate-xor-de.png
atau
Logic-gate-xor-de-2.png
A B Y
0 0 0
0 1 1
1 0 1
1 1 0
Gerbang-XNOR
(Ekuivalen, Not-Exclusive-OR) Y = \overline{A \,\underline{\lor}\, B}

Y = A \,\overline{\underline{\lor}}\, B

Y = \overline{A \oplus B} IEC XNOR label.svg Logic-gate-xnor-us.png Logic-gate-xnor-de.png
atau
Logic-gate-xnor-de-2.png
A B Y
0 0 1
0 1 0
1 0 0
1 1 1

Counter

Penghitung atau pencacah (bahasa Inggris: counter) adalah rangkaian sirkuit digital atau kadang-kadang berbentuk chip yang bisa dipakai untuk menghitung pulsa atau sinyal digital yang umumnya dihasilkan dari osilator. Penghitung ini bisa menghitung pulsa secara biner murni (binary counter) ataupun secara desimal-terkodekan-secara-biner (decimal counter)
Perbedaan

Dalam penghitung biner murni, angka 9 dinyatakan dalam bentuk bilangan biner 1001, dan berikutnya angka 10 dinyatakan dalam bentuk biner 1010. Sedangkan dalam penghitung desimal-terkodekan-secara-biner, angka 9 adalah biner 1001, tetapi angka 10 dinyatakan dalam bentuk: 0001 0000.

Angka desimal 100 dalam biner murni adalah 1100100, sedangkan dalam BCD adalah 0001 0000 0000 (3 buah digit desimal masing-masing dari kelompok 4 bit).

Untuk jelasnya, angka desimal 0 sampai 17 (yang kita kenal sehari-hari), jika dinyatakan dalam bilangan biner murni dan biner BCD ( dengan 5 bit), akan nampak seperti di bawah ini. Angka 0 sampai 9 mempunyai bentuk biner murni dan biner BCD yang sama, tetapi mulai dari angka 10 keduanya belainan.
Biner murni Biner BCD
0 0000 0 0000
0 0001 0 0001
0 0010 0 0010
0 0011 0 0011
0 0100 0 0100
0 0101 0 0101
0 0110 0 0110
0 0111 0 0111
0 1000 0 1000
0 1001 0 1001
0 1010 1 0000
0 1011 1 0001
0 1100 1 0010
0 1101 1 0011
0 1110 1 0100
0 1111 1 0101
1 0000 1 0110
1 0001 1 0111
dst...

Rangkaian penghitung ini kebanyakan dipakai dalam alat penghitung pulsa putaran mesin, atau putaran roda kendaraan. Berdasarkan jumlah pulsa yang terhitung per detik atau per menit, kita dapat menentukan kecepatan putaran mesin, kecepatan jalannya kendaraan, jarak yang ditempuh, dll. Misalnya, kalau jumlah putaran per detik dari roda kendaraan adalah 10, dan panjang busur lingkaran (keliling) roda ban itu = 1 meter, maka kendaraan itu berjalan sepanjang 10 meter per detik. Dengan kata lain jika dinyatakan dalam km/jam, kecepatan kendaraan itu menjadi 10*60*60 = 36.000 meter per jam, atau 36 km/jam.

Alat penghitung ini (baik yang biner maupun desimal BCD) merupakan bagian penting dalam sistem peralatan digital dan penggunaannya dalam bidang industri. Selain untuk menghitung pulsa putaran, penghitung/pencacah juga dipakai untuk menghitung pulsa waktu, alat yang penting dalam bidang telekomunikasi yaitu untuk mencatat lama pembicaraan. Penghitung bisa dipakai juga untuk mengontrol robot kapan harus aktif (pada jam berapa, atau setelah berapa menit lagi). Banyak contoh lain yang bisa disebutkan mengenai penggunaan penghitung ini dalam bidang kontrol dan elektronika digital.
Pencacah dengan menggunakan flip-flop JK

Bagi masyarakat awam, penghitung bisa diartikan sebagai kalkulator yang dipakai untuk menghitung untuk keperluan sehari-hari. Ada dua macam kalkulator: penghitung sederhana, dan penghitung ilmiah (scientific calculator). Dalam penghitung sederhana, kita hanya bisa menghitung: + - * / % kwadrat, 1/x, dan operasi memori saja (cukup untuk keperluan penghitung rumah tangga sehari-hari). Sedangkan pada scientific calculator, kita bisa menghitung rumus matematika yang lebih rumit, seperti: pangkat, exp, ln, sin, cosin, tg, dll. Kebanyakan dari kita sekarang tidak perlu membeli kalkulator ini, karena dalam komputer PC kita (MS Windows dan MS Office) di dalamnya sudah disediakan kalculator

Microcontroller

Pengendali mikro (Inggris: microcontroller) adalah sistem mikroprosesor lengkap yang terkandung di dalam sebuah chip. Mikrokontroler berbeda dari mikroprosesor serba guna yang digunakan dalam sebuah PC, karena sebuah mikrokontroler umumnya telah berisi komponen pendukung sistem minimal mikroprosesor, yakni memori dan antarmuka I/O
Rancangan embedded

Sistem komputer dewasa ini paling banyak justru terdapat di dalam peralatan lain, seperti telepon, jam, perangkat rumah tangga, kendaraan, dan bangunan. Sistem embedded biasanya mengandung syarat minimal sebuah sistem mikroprosesor yaitu memori untuk data dan program, serta sistem antarmuka input/output yang sederhana. Antarmuka semacam keyboard, tampilan, disket, atau printer yang umumnya ada pada sebuah komputer pribadi justru tidak ada pada sistem mikrokontroler. Sistem mikrokontroler lebih banyak melakukan pekerjaan-pekerjaan sederhana yang penting seperti mengendalikan motor, saklar, resistor variabel, atau perangkat elektronis lain. Seringkali satu-satunya bentuk antarmuka yang ada pada sebuah sistem mikrokontroler hanyalah sebuah LED, bahkan ini pun bisa dihilangkan jika tuntutan konsumsi daya listrik mengharuskan demikian.[rujukan?]
[sunting] Integrasi yang lebih padat

Berbeda dengan CPU serba-guna, mikrokontroler tidak selalu memerlukan memori eksternal, sehingga mikrokontroler dapat dibuat lebih murah dalam kemasan yang lebih kecil dengan jumlah pin yang lebih sedikit.

Sebuah chip mikrokontroler umumnya memiliki fitur:

central processing unit - mulai dari prosesor 4-bit yang sederhana hingga prosesor kinerja tinggi 64-bit.
input/output antarmuka jaringan seperti port serial (UART)
antarmuka komunikasi serial lain seperti I²C, Serial Peripheral Interface and Controller Area Network untuk sambungan sistem
periferal seperti timer dan watchdog
RAM untuk penyimpanan data
ROM, EPROM, EEPROM atau Flash memory untuk menyimpan program komputer
pembangkit clock - biasanya berupa resonator rangkaian RC
pengubah analog-ke-digital

[sunting] Sejarah mikrokontroler

Mikrokontroler populer yang pertama dibuat oleh Intel pada tahun 1976, yaitu mikrokontroler 8-bit Intel 8748. [1]Mikrokontroler tersebut adalah bagian dari keluarga mikrokontroler MCS-48. [2] Sebelumnya, Texas instruments telah memasarkan mikrokontroler 4-bit pertama yaitu TMS 1000 pada tahun 1974. TMS 1000 yang mulai dibuat sejak 1971 adalah mikrokomputer dalam sebuah chip, lengkap dengan RAM dan ROM. [3]
[sunting] Jenis mikrokontroler
[sunting] AMCC

Hingga Mei 2004, mikrokontroler ini masih dikembangkan dan dipasarkan oleh IBM, hingga kemudian keluarga 4xx dijual ke Applied Micro Circuits Corporation.

403 PowerPC CPU (PPC 403GCX)

405 PowerPC CPU (PPC 405EP, PPC 405GP/CR, PPC 405GPr, PPC NPe405H/L)

440 PowerPC Book-E CPU (PPC 440GP, PPC 440GX, PPC 440EP/EPx/GRx, PPC 440SP/SPe)

[sunting] Atmel

Atmel AT91 series (ARM THUMB architecture)
Atmel AVR32
AT90, Tiny & Mega series – AVR (Atmel Norway design)
Atmel AT89 series (Intel 8051/MCS51 architecture)
MARC4

[sunting] Cypress MicroSystems

CY8C2xxxx (PSoC)

[sunting] Freescale Semiconductor

Hingga 2004, mikrokontroler ini dikembangkan dan dipasarkan olehMotorola, yang divisi semikonduktornya dilepas untuk mempermudah pengembangan Freescale Semiconductor.

8-bit (68HC05 (CPU05), 68HC08 (CPU08), 68HC11 (CPU11))
16-bit (68HC12 (CPU12), 68HC16 (CPU16), Freescale DSP56800 (DSPcontroller))
32-bit (Freescale 683XX (CPU32), MPC500, MPC 860 (PowerQUICC), MPC 8240/8250 (PowerQUICC II), MPC 8540/8555/8560 (PowerQUICC III))

[sunting] Fujitsu

F²MC Family (8/16 bit)
FR Family (32 bit)
FR-V Family (32 bit RISC)

[sunting] Holtek

HT8

[sunting] Intel

8-bit (8XC42, MCS48, MCS51, 8061, 8xC251)
16-bit (80186/88, MCS96, MXS296, 32-bit, 386EX, i960)

[sunting] Microchip

Low End, Mikrokontroler PIC 12-bit

Mid Range, Mikrokontroler PIC 14-bit

(PIC16F84, PIC16F877)

16-bit instruction PIC

High End, Mikrokontroler PIC 16-bit

[sunting] National Semiconductor

COP8, CR16

[sunting] NEC

17K, 75X, 78K, V850

[sunting] Philips Semiconductors

LPC2000, LPC900, LPC700

[sunting] Renesas Tech. Corp.

(Renesas adalah perusahan patungan Hitachi dan Mitsubishi.)

H8, SH, M16C, M32R

[sunting] STMicroelectronics

ST 62, ST 7

[sunting] Texas Instruments

TMS370, MSP430

[sunting] Western Design Center

8-bit (W65C02-based µCs)
16-bit (W65816-based µCs)

[sunting] Ubicom

SX-28, SX-48, SX-54
Seri Ubicom's SX series adalah jenis mikrokontroler 8 bit yang, tidak seperti biasanya, memiliki kecepatan tinggi, memiliki sumber daya memori yang besar, dan fleksibilitas tinggi. Beberapa pengguna menganjurkan mikrokontroller pemercepat PICs. Meskipun keragaman jenis mikrokontroler Ubicom's SX sebenarnya terbatas, kecepatan dan kelebihan sumber dayanya yang besar membuat programmer bisa membuat perangkat virtual lain yang dibutuhkan. Referensi bisa ditemukan di Parallax's Web site, sebagai penyalur utama.
IP2022
Ubicom's IP2022 adalah mikrokontroler 8 bit berkecepatan tinggi (120 MIPs). Fasilitasnya berupa: 64k FLASH code memory, 16k PRAM (fast code dan packet buffering), 4k data memory, 8-channel A/D, various timers, and on-chip support for Ethernet, USB, UART, SPI and GPSI interfaces.

[sunting] Xilinx

Microblaze softcore 32 bit microcontroller
Picoblaze softcore 8 bit microcontroller

[sunting] ZiLOG

Z8
Z86E02

[sunting] ...dan beberapa mikrokontroler yang bisa diprogram secara BASIC

Ada banyak mikrokontroller yang dirancang oleh produsen sebagai sarana hobi. Biasanya mikrokontroller seperti ini dimuati interpreter BASIC, dihubungkan ke bagian Dual Inline Pin bersama power regulator dan beberapa fasilitas lain. PICs sepertinya sangat popular untuk jenis ini, barangkali karena adanya perlindungan terhadap listrik statis.
Parallax, Inc.

BASIC Stamp. Nama besar di mikrokontroler BASIC, meskipun sebenarnya lamban dan harganya tidak sebanding.
SX-Key. Harga murahnya harus dibayar dengan kualitas yang buruk.

PicAxe

Murah, tidak lebih dari sekedar PIC yang dimuati BASIC. Bagian programmernya ditancapi dengan 3 resistors. Penawaran BASIC menawarkan fungsionalitas yang besar dengan adanya fasilitas IF..GOTO secara terbat

Mikroprosesor

Sebuah mikroprosesor (sering dituliskan: µP atau uP) adalah sebuah central processing unit (CPU) elektronik komputer yang terbuat dari transistor mini dan sirkuit lainnya di atas sebuah sirkuit terintegrasi semikonduktor.

Sebelum berkembangnya mikroprosesor, CPU elektronik terbuat dari sirkuit terintegrasi TTL terpisah; sebelumnya, transistor individual; sebelumnya lagi, dari tabung vakum. Bahkan telah ada desain untuk mesin komputer sederhana atas dasar bagian mekanik seperti gear, shaft, lever, Tinkertoy, dll.

Evolusi dari mikroprosesor telah diketahui mengikuti Hukum Moore yang merupakan peningkatan performa dari tahun ke tahun. Teori ini merumuskan bahwa daya penghitungan akan berlipat ganda setiap 18 bulan, sebuah proses yang benar terjadi sejak awal 1970-an; sebuah kejutan bagi orang-orang yang berhubungan. Dari awal sebagai driver dalam kalkulator, perkembangan kekuatan telah menuju ke dominasi mikroprosesor di berbagai jenis komputer; setiap sistem dari mainframe terbesar sampai ke komputer pegang terkecil sekarang menggunakan mikroprosesor sebagai pusatnya
Berikut adalah karakteristik penting dari mikroprosesor :

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.
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.
Ukuran alamat memori (memory address size): Jumlah alamat memori yang dapat dialamati oleh mikroprosesor secara langsung.
Kecepatan clock (clock speed): Rate atau kecepatan clock untuk menuntun kerja mikroprosesor.
Fitur-fitur spesial (special features): Fitur khusus untuk mendukung aplikasi tertentu seperti fasilitas pemrosesan floating point, multimedia dan sebagainya.

ELEKTRONIKA

Elektronika adalah ilmu yang mempelajari alat listrik arus lemah yang dioperasikan dengan cara mengontrol aliran elektron atau partikel bermuatan listrik dalam suatu alat seperti komputer, peralatan elektronik, termokopel, semikonduktor, dan lain sebagainya. Ilmu yang mempelajari alat-alat seperti ini merupakan cabang dari ilmu fisika, sementara bentuk desain dan pembuatan sirkuit elektroniknya adalah bagian dari teknik elektro, teknik komputer, dan ilmu/teknik elektronika dan instrumentasi.

Alat-alat yang menggunakan dasar kerja elektronika ini biasanya disebut sebagai peralatan elektronik (electronic devices). Contoh peralatan/ piranti elektronik ini: Tabung Sinar Katoda (Cathode Ray Tube, CRT), radio, TV, perekam kaset, perekam kaset video (VCR), perekam VCD, perekam DVD, kamera video, kamera digital, komputer pribadi desk-top, komputer Laptop, PDA (komputer saku), robot, smart card, dll.