Kamis, 01 Maret 2012

WEB



Web artinya Suatu sistem di internet yang memungkinkan siapapun agar bisa menyediakan informasi. Dengan menggunakan teknologi tersebut, informasi dapat diakses selama 24 jam dalam satu hari dan dikelola oleh mesin. Untuk mengakses informasi yang disediakan web ini, diperlukan berbagai perangkat lunak, yang disebut dengan web browser.
Dalam mencari informasi dari internet, pengguna akan menuju ke sebuah alamat unik internet (misal: www.namawebsite.com) yang disebut nama domain (Domain Name/URL – Uniform Resource Locator) dan menemukan informasi berbentuk teks, gambar diam atau bergerak, animasi bergerak, suara ataupun video dalam sebuah media, yang disebut dengan website atau situs. Website ini dibuka melalui sebuah program penjelajah (Browser) yang berada di sebuah komputer. Program penjelajah yang bisa digunakan dalam komputer diantaranya: IE (Internet Explorer), Mozilla, Firefox, Netscape, Opera .



A. PENGERTIAN WEBSITE ATAU SITUS.
Website atau situs dapat diartikan sebagai kumpulan halaman yang menampilkan informasi data teks, data gambar diam atau gerak, data animasi, suara, video dan atau gabungan dari semuanya, baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masing-masing dihubungkan dengan jaringan-jaringan halaman (hyperlink). Bersifat statis apabila isi informasi website tetap, jarang berubah, dan isi informasinya searah hanya dari pemilik website. Bersifat dinamis apabila isi informasi website selalu berubah-ubah, dan isi informasinya interaktif dua arah berasal dari pemilik serta pengguna website. Contoh website statis adalah berisi profil perusahaan, sedangkan website dinamis adalah seperti Friendster, Multiply, dll. Dalam sisi pengembangannya, website statis hanya bisa diupdate oleh pemiliknya saja, sedangkan website dinamis bisa diupdate oleh pengguna maupun pemilik.




B. UNSUR-UNSUR DALAM PENYEDIAAN WEBSITE ATAU SITUS.
Untuk menyediakan sebuah website, maka harus tersedia unsur-unsur penunjangnya, adalah sebagai berikut:


1. Nama domain (Domain name/URL – Uniform Resource Locator)
Nama domain atau biasa disebut dengan Domain Name atau URL adalah alamat unik di dunia internet yang digunakan untuk mengidentifikasi sebuah website, atau dengan kata lain domain name adalah alamat yang digunakan untuk menemukan sebuah website pada dunia internet. Contoh : http://www.baliorange.net
Nama domain diperjualbelikan secara bebas di internet dengan status sewa tahunan. Setelah Nama Domain itu terbeli di salah satu penyedia jasa pendaftaran, maka pengguna disediakan sebuah kontrol panel untuk administrasinya. Jika pengguna lupa/tidak memperpanjang masa sewanya, maka nama domain itu akan di lepas lagi ketersediaannya untuk umum. Nama domain sendiri mempunyai identifikasi ekstensi/akhiran sesuai dengan kepentingan dan lokasi keberadaan website tersebut. Contoh nama domain ber-ekstensi internasional adalah com, net, org, info, biz, name, ws. 



2. Rumah tempat website (Web hosting)
Web Hosting dapat diartikan sebagai ruangan yang terdapat dalam harddisk tempat menyimpan berbagai data, file-file, gambar, video, data email, statistik, database dan lain sebagainya yang akan ditampilkan di website. Besarnya data yang bisa dimasukkan tergantung dari besarnya web hosting yang disewa/dipunyai, semakin besar web hosting semakin besar pula data yang dapat dimasukkan dan ditampilkan dalam website.
Web Hosting juga diperoleh dengan menyewa. Pengguna akan memperoleh kontrol panel yang terproteksi dengan username dan password untuk administrasi websitenya. Besarnya hosting ditentukan ruangan harddisk dengan ukuran MB (Mega Byte) atau GB (Giga Byte). Lama penyewaan web hosting rata-rata dihitung per tahun. Penyewaan hosting dilakukan dari perusahaan-perusahaan penyewa web hosting yang banyak dijumpai baik di Indonesia maupun Luar Negeri. Lokasi peletakan pusat data (datacenter) web hosting bermacam-macam. Ada yang di Jakarta, Singapore, Inggris, Amerika, dll dengan harga sewa bervariasi.



3. Bahasa Program (Scripts Program).
Adalah bahasa yang digunakan untuk menerjemahkan setiap perintah dalam website yang pada saat diakses. Jenis bahasa program sangat menentukan statis, dinamis atau interaktifnya sebuah website. Semakin banyak ragam bahasa program yang digunakan maka akan terlihat website semakin dinamis, dan interaktif serta terlihat bagus.
Beragam bahasa program saat ini telah hadir untuk mendukung kualitas website. Jenis jenis bahasa program yang banyak dipakai para desainer website antara lain HTML, ASP, PHP, JSP, Java Scripts, Java applets, XML, Ajax dsb. Bahasa dasar yang dipakai setiap situs adalah HTML sedangkan PHP, ASP, JSP dan lainnya merupakan bahasa pendukung yang bertindak sebagai pengatur dinamis, dan interaktifnya situs.
Bahasa program ASP, PHP, JSP atau lainnya bisa dibuat sendiri. Bahasa program ini biasanya digunakan untuk membangun portal berita, artikel, forum diskusi, buku tamu, anggota organisasi, email, mailing list dan lain sebagainya yang memerlukan update setiap saat.

4. Desain website.
Setelah melakukan penyewaan domain name dan web hosting serta penguasaan bahasa program (scripts program), unsur website yang penting dan utama adalah desain. Desain website menentukan kualitas dan keindahan sebuah website. Desain sangat berpengaruh kepada penilaian pengunjung akan bagus tidaknya sebuah website.
Untuk membuat website biasanya dapat dilakukan sendiri atau menyewa jasa website designer. Saat ini sangat banyak jasa web designer, terutama di kota-kota besar. Perlu diketahui bahwa kualitas situs sangat ditentukan oleh kualitas designer. Semakin banyak penguasaan web designer tentang beragam program/software pendukung pembuatan situs maka akan dihasilkan situs yang semakin berkualitas, demikian pula sebaliknya. Jasa web designer ini yang umumnya memerlukan biaya yang tertinggi dari seluruh biaya pembangunan situs dan semuanya itu tergantung kualitas designer. Program-program desain website salah satunya adalah Macromedia Firework, Adobe Photoshop, Adobe Dreamweaver, Microsoft Frontpage, dll.

5. Program transfer data ke pusat data.
Para web designer mengerjakan website dikomputernya sendiri. Berbagai bahasa program, data informasi teks, gambar, video, dan suara telah menjadi file-file pendukung adanya website. File tersebut bisa dibuka menggunakan program penjelajah (browser) sehingga terlihatlah sebuah website utuh di dalam komputer sendiri (offline). Tetapi file-file tersebut perlu untuk diletakkan dirumah hosting versi online agar terakses ke seluruh dunia. Pengguna akan diberikan akses FTP (File Transfer Protocol) setelah memesan sebuah web hosting untuk memindahkan file-file website ke pusat data web hosting. Untuk dapat menggunakan FTP diperlukan sebuah program FTP, misalnya WS FTP, Smart FTP, Cute FTP, dll. Program FTP ini banyak ditemui di internet dengan status penggunaan gratis maupun harus membayar. Para web designer pun dapat menggunakan fasilitas FTP yang terintegrasi dengan program pembuat website, misal Adobe Dreamweaver.

6. Publikasi website.
Keberadaan website tidak ada gunanya dibangun tanpa dikunjungi atau dikenal oleh masyarakat atau pengunjung internet. Karena efektif tidaknya situs sangat tergantung dari besarnya pengunjung dan komentar yang masuk. Untuk mengenalkan situs kepada masyarakat memerlukan apa yang disebut publikasi atau promosi.
Publikasi situs di masyarakat dapat dilakukan dengan berbagai cara seperti dengan pamlet-pamlet, selebaran, baliho, kartu nama dan lain sebagainya tapi cara ini bisa dikatakan masih kurang efektif dan sangat terbatas. Cara yang biasanya dilakukan dan paling efektif dengan tak terbatas ruang atau waktu adalah publikasi langsung di internet melalui search engine-search engine (mesin pencari, spt : Yahoo, Google, MSN, Search Indonesia, dsb).
Cara publikasi di search engine ada yang gratis dan ada pula yang membayar. Yang gratis biasanya terbatas dan cukup lama untuk bisa masuk dan dikenali di search engine terkenal seperti Yahoo atau Google. Cara efektif publikasi adalah dengan membayar, walaupun harus sedikit mengeluarkan akan tetapi  situs 
cepat masuk ke search engine dan dikenal oleh pengunjung.



C. PEMELIHARAAN WEBSITE


Untuk mendukung kelanjutan dari situs diperlukan pemeliharaan setiap waktu sesuai yang diinginkan seperti penambahan informasi, berita, artikel, link, gambar atau lain sebagainya. Tanpa pemeliharaan yang baik situs akan terkesan membosankan atau monoton juga akan segera ditinggal pengunjung.
Pemeliharaan situs dapat dilakukan per periode tertentu seperti tiap hari, tiap minggu atau tiap bulan sekali secara rutin atau secara periodik saja tergantung kebutuhan (tidak rutin). Pemeliharaan rutin biasanya dipakai oleh situs-situs berita, penyedia artikel, organisasi atau lembaga pemerintah. Sedangkan pemeliharaan periodik bisanya untuk situs-situs pribadi, penjualan/e-commerce, dan lain sebagainya.


D. PERPANJANGAN MASA SEWA DOMAIN NAME DAN WEB HOSTING


Perlu dipahami bahwa domain name dan web hosting berstatus sewa. Selama kedua hal itu dibayarkan masa sewa perpanjangannya, maka Anda berhak untuk memilikinya dan mempergunakannya. Banyak terjadi kasus kelupaan dalam memperpanjang masa sewanya, atau sulit untuk menghubungi pihak ketiga (web designer) sebagai perantara pendaftaran awal, maka akan berakibat fatal. Anda akan kehilangan domain name sebagai identitas dalam dunia internet. Pastikan Anda mengingat untuk memperpanjang masa sewanya. Arti penting domain name perlu Anda pahami.




Selasa, 21 Februari 2012

ALGORITMA DAN PROGRAM



1.       Apakah Itu Algoritma
Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata  algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan  algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar WalMuqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari  algorism menjadi  algorithmmuncul karena kata  algorism sering dikelirukan dengan  arithmetic,sehingga akhiran  –sm berubah menjadi  –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.
a.  Definisi Algoritma
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya. Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.
b. Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa:
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya:
1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa  pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa  pemrograman.
3. Apapun bahasa pemrogramannya,  output yang akan dikeluarkan sama  karena algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma:
1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.  Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah  dimengerti dan dipahami.
2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti  notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi  algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu  pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer,  pseudocode dalam  notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam  notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu:
    a. Pendeklarasian variabel  
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya.
b. Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c. Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda.
d. Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.
e. Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f. Cara pengoperasian compiler atau interpreter.Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.
c.  Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut. Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat menyebabkan kejadian. 
Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus:
1. Mengerti setiap langkah dalam algoritma.
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
d.  Mekanisme Pelaksanaan Algoritma oleh Pemroses
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Kata “algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya. Misalnya ada orang yang berkata seperti ini: “program pengurutan data menggunakan algoritma  selection sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan program menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian algoritma yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma dan program. Algoritma adalah langkah-langkah penyelesaikan masalah, sedangkan program adalah realisasi algoritma dalam bahasa pemrograman. Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut  pemrograman  (programming). Orang yang menulis program disebut  pemrogram  (programmer). Tiap-tiap langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasioperasi yang bersesuaian dengan instruksi tersebut dikerjakan komputer. Secara garis besar komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti keluaran, unit pemroses utama, dan memori. Unit pemroses utama  (Central Processing Unit – CPU) adalah “otak” komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis. Memori adalah komponen yang berfungsi menyimpan atau mengingatingat. Yang disimpan di dalam memori adalah program (berisi operasioperasi yang akan dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-operasi). Piranti masukan dan keluaran (I/Odevices) adalah alat yang memasukkan data atau program ke dalam memori, dan alat yang digunakan komputer untuk mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain, papan kunci (keyboard),pemindai (scanner), dan cakram (disk).
e.  Belajar Memprogram dan Belajar Bahasa Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, pernyataan-pernyataannya, tata cara pengoperasian  compiler-nya, dan memanfaatkan pernyataan-pernyataan tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa pemrogram, antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasabahasa simulasi  seperti CSMP, Simscript, GPSS, Dinamo. Berdasarkan terapannya, bahasa pemrograman dapat digolongkan atas dua kelompok besar:
1. Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok ini adalah Cobol (untuk terapan bisnis dan administrasi).  Fortran(terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa simulasi, dan sebagainya.
2. Bahasa perograman bertujuan umum, yang dapat digunakan untuk berbagai aplikasi. Yang termasuk kelompok ini adalah bahasa Pascal, Basic dan C. Tentu saja pembagian ini tidak kaku. Bahasabahasa bertujuan khusus tidak berarti tidak bisa digunakan untuk aplikasi lain. Cobol misalnya, dapat juga digunakan untuk terapan ilmiah, hanya saja kemampuannya terbatas. Yang jelas, bahasabahasa pemrograman yang berbeda dikembangkan untuk bermacam-macam terapan yang berbeda pula.  Berdasarkan pada apakah notasi bahasa pemrograman lebih “dekat” ke mesin atau ke bahasa manusia, maka bahasa pemrograman dikelompokkan atas dua macam:
1. Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa mesin. CPU mengambil instruksi dari memori, langsung mengerti dan langsung mengerjakan operasinya. Bahasa tingkat rendah bersifat primitif, sangat sederhana, orientasinya lebih dekat ke mesin, dan sulit dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke dalam kelompok ini karena alasan notasi yang dipakai dalam bahasa ini lebih dekat ke mesin, meskipun untuk melaksanakan instruksinya masih perlu penerjemahan ke dalam bahasa mesin.
2. Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih “manusiawi”, dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan sebagainya.
a. Belajar Memprogram
•  Belajar memprogram: belajar bahasa pemrograman.
•  Belajar memprogram: belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama.
•  Belajar memprogram: bersifat pemahaman persoalan, analisis dan sintesis.
•  Belajar memprogram, titik berat: designer program.
b. Belajar Bahasa Pemrograman
•  Belajar bahasa pemrograman: belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan pernyataan yang spesifik untuk setiap bahasa.
•  Belajar bahasa pemrograman, titik berat: coder.
c. Produk yang Dihasilkan Pemrogram
•  Program dengan rancangan yang baik (metodologis, sistematis).
•  Dapat dieksekusi oleh mesin.
•  Berfungsi dengan benar.
•  Sanggup melayani segala kemungkinan masukan.
•  Disertai dokumentasi.
•  Belajar memprogram, titik berat: designer program.

2.        Menilai Sebuah Algoritma
Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah itu ada kemungkinan bisa banyak (tidak hanya satu). Dan kita memilih mana yang terbaik di antara teknikteknik itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan. Yang menjadi pertanyaan adalah bagaimana mengukur mana algoritma yang terbaik?
Beberapa persyaratan untuk menjadi algoritma yang baik adalah:
•  Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
•  Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin. Bab I: Pengantar Algoritma dan Program 10
•  Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.
•  Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
•  Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).
• Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.
• Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara eksplisit dan tidak ada bagian yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap langkah harus jelas dan pasti.
 Contoh:   Tambahkan 1 atau 2 pada x.
     Instruksi di atas terdapat keraguan.
•  Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.
•  Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan menjalankannya.
 Contoh: Hitung akar 2 dengan presisi sempurna. Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah.
Misal: Hitung akar 2 sampai lima digit di belakang koma.
•  Harus  terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah apakah bila jumlah instruksinya berhingga maka pasti terminate?
• Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan seksama maka dihasilkan output yang diinginkan.
3.        Penyajian Algoritma
Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, misalnya dengan  flowchart. Secara umum,  pseudocode mengekspresikan ide-ide secara informal dalam proses penyusunan algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan digunakan telah diketahui sejak awal. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Di samping itu  flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.
4.        Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkahlangkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:
      1.       Struktur Runtunan
       Digunakan untuk program yang pernyataannya sequential atau urutan.
2.  Struktur Pemilihan
      Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
3.  Struktur Perulangan
     Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang
5.        Tahapan dalam Pemrograman
Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah:
1. Definisikan Masalah
Berikut adalah hal-hal yang harus diketahui dalam analisis masalah supaya kita mengetahui bagaimana permasalahan tersebut:
a. Kondisi awal, yaitu input yang tersedia.
b. Kondisi akhir, yaitu output yang diinginkan.
c. Data lain yang tersedia.
d. Operator yang tersedia.
e. Syarat atau kendala yang harus dipenuhi.
Contoh kasus:
Menghitung biaya percakapan telepon di wartel. Proses yang perlu diperhatikan adalah:
a. Input yang tersedia adalah jam mulai bicara dan jam selesai bicara.
b.   Output yang diinginkan adalah biaya percakapan.
c.  Data lain yang tersedia adalah besarnya pulsa yang digunakan dan biaya per pulsa.
d.  Operator yang tersedia adalah pengurangan (-), penambahan (+), dan perkalian (*).
e.   Syarat kendala yang harus dipenuhi adalah aturan jarak dan aturan waktu.
2. Buat Algoritma dan Struktur Cara Penyelesaian
Jika masalahnya kompleks, maka dibagi ke dalam modul-modul. Tahap penyusunan algoritma seringkali dimulai dari langkah yang global terlebih dahulu. Langkah global ini diperhalus sampai menjadi langkah yang lebih rinci atau detail. Cara pendekatan ini sangat bermanfaat dalam pembuatan algoritma untuk masalah yang kompleks. Penghalusan langkah dengan cara memecah langkah menjadi beberapa langkah. Setiap langkah diuraikan lagi menjadi beberapa langkah yang lebih sederhana. Penghalusan langkah ini akan terus berlanjut sampai setiap langkah sudah cukup rinci dan tepat untuk dilaksanakan oleh pemroses.
3. Menulis Program
Algoritma yang telah dibuat, diterjemahkan dalam bahasa komputer menjadi sebuah program. Perlu diperhatikan bahwa pemilihan algoritma yang salah akan menyebabkan program memiliki untuk kerja yang kurang baik. Program yang baik memiliki standar penilaian:
a. Standar teknik pemecahan masalah
-     Teknik Top-Down
Teknik pemecahan masalah yang paling umum digunakan. Prinsipnya adalah suatu masalah yang kompleks dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil. Dari masalah yang kecil tersebut dilakukan analisis. Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail.
- Teknik Bottom-Up
Prinsip teknik  bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-prosedur yang ada menjadi satu kesatuan program sebagai penyelesaian masalah tersebut.
b. Standar penyusunan program
- Kebenaran logika dan penulisan.
- Waktu minimum untuk penulisan program.
- Kecepatan maksimum eksekusi program.
- Ekspresi penggunaan memori.
- Kemudahan merawat dan mengembangkan program.
- User Friendly.
- Portability.
- Pemrograman modular.
4. Mencari Kesalahan
a. Kesalahan sintaks (penulisan program).
b. Kesalahan pelaksanaan: semantik, logika, dan  ketelitian.
5. Uji dan Verifikasi Program
Pertama kali harus diuji apakah program dapat dijalankan. Apabila program tidak dapat dijalankan maka perlu diperbaiki penulisan sintaksisnya tetapi bila program dapat dijalankan, maka harus diuji dengan menggunakan data-data yang biasa yaitu data yang diharapkan oleh sistem. Contoh data ekstrem, misalnya, program menghendaki masukan jumlah data tetapi user mengisikan bilangan negatif. Program sebaiknya diuji menggunakan data yang relatif banyak.
6. Dokumentasi Program
Dokumentasi program ada dua macam yaitu dokumentasi internal dan dokumentasi eksternal. Dokumentasi internal adalah dokumentasi yang dibuat di dalam program yaitu setiap kita menuliskan baris program sebaiknya diberi komentar atau keterangan supaya mempermudah kita untuk mengingat logika yang terdapat di dalam instruksi tersebut, hal ini sangat bermanfaat ketika suatu saat program tersebut akan dikembangkan. Dokumentasi eksternal adalah dokumentasi yang dilakukan dari luar program yaitu membuat  user guide atau buku petunjuk aturan atau cara menjalankan program tersebut.
7. Pemeliharaan Program
a. Memperbaiki kekurangan yang ditemukan kemudian.
b. Memodifikasi, karena perubahan spesifikasi.
Pemrograman Prosedural
Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti algoritma adalah proses yang prosedural. Pada program prosedural, program dibedakan antara bagian data dengan bagian instruksi. Bagian instruksi terdiri dari atas runtunan (sequence) instruksi yang dilaksanakan satu per satu secara berurutan oleh sebuah pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya pencabangan kondisional. Data yang disimpan di dalam memori dimanipulasi oleh instruksi secara beruntun. Kita katakan bahwa tahapan pelaksanaan program mengikuti pola beruntun atau prosedural. Paradigma pemrograman seperti ini dinamakan pemrograman prosedural.  Bahasa-bahasa tingkat tinggi seperti  Cobol, Basic, Pascal, Fortran,  dan C/C++ mendukung kegiatan pemrograman prosedural, karena itu mereka dinamakan juga bahasa prosedural. Selain paradigma pemrograman prosedural, ada lagi paradigma yang lain yaitu pemrograman berorientasi objek (Object Oriented Programming atau OOP). Paradigma pemrograman ini merupakan  trend baru dan sangat popular akhir-akhir ini. Pada paradigma OOP, data dan instruksi dibungkus (encapsulation) menjadi satu. Kesatuan ini disebut kelas (class) dan instansiasi kelas pada saat  run-timedisebut objek (object). Data di dalam objek hanya dapat diakses oleh instruksi yang ada di dalam objek itu saja. Paradigma pemrograman yang lain adalah pemrograman fungsional, pemrograman deklaratif, dan pemrograman konkuren. Buku ini hanya menyajikan paradigma pemrograman presedural saja. Paradigma pemrograman yang lain di luar cakupan buku ini.
Contoh Kasus dan Penyelesaian
1. Menghitung luas dan keliling lingkaran
Proses kerjanya sebagai berikut:
a. Baca jari-jari lingkaran
b. Tentukan konstanta phi = 3.14
c. Hitung luas dan keliling
 L = phi*r*r
 K = 2*phi*r
d.   Cetak luas dan keliling
2.  Menghitung rata-rata tiga buah data
a.  Algoritma dengan struktur bahasa Indonesia
-  Baca bilangan a, b, dan c
-  Jumlahkan ketiga bilangan tersebut
-  Bagi jumlah tersebut dengan 3
-  Tulis hasilnya
b.  Algoritma dengan pseudocode
input (a, b, c)
Jml = a+b+c
Rerata = Jml/3
Output (Rerata)
3. Algoritma konversi suhu dalam derajat Celcius ke derajat Kalvin
Penyelesaian menggunakan pseudocode:
Input (Celcius)
Kalvin = Celcius + 273
Output (Kalvin)



Pengenalan Komputer

SISTEM KOMPUTER
Komputer merupakan alat elektronik yang pada awalnya dirancang untuk aktivitas
komputasi. Namun pada saat ini penggunaan komputer telah berkembang tidak hanya
untuk proses komputasi tetapi sudah mencakup pada manipulasi, simulasi, animasi, dan
komunikasi-informasi. 
Sebagaimana layaknya sebuah perangkat elektronik, komputer merupakan sistem IPO
(Input Proccess and Output), sehingga memerlukan masukan untuk diolah yaitu berupa
data dan akan menghasilkan suatu keluaran yaitu informasi.
Secara teknis, kriteria yand dijadikan dasar untuk mengklasifikasikan, antara lain: 
(1) arsitektur; 
(2) kecepatan pemrosesan; 
(3) besarnya memori; 
(4) kemampuan penyimpanan; 
(5) jumlah pengguna; 
(6) biaya; dan 
(7) ukuran. 
Arsitektur komputer mengacu pada rancangan internal  dari rangkaian komputer.
Termasuk di dalamnya jumlah dan tipe komponen yang  menampilkan kemampuan
komputasi. Arsitektur komputer sangat tergantung pada kegunaan komputer itu sendiri.
Kecepatan pemrosesan diukur dari jumlah instruksi yang dapat diproses oleh komputer
setiap detiknya, biasanya dalam satuan million instruksi per detik (MIPS). Untuk
mempermudah pengenalan kecepatan pemrosesan sering  dicantumkan berupa angka
frekuensi, misalnya 233 MHz, 400 MHz, 533B MHz dan yang terbaru yang beredar di
pasaran dikeluarkan Intel adalah 3,2 GHz.
Memori utama mengacu pada penyimpan internal komputer sehingga bisa digunakan
untuk mengakses dan menjalankan program. Memori utama bisa mengakses dengan
lebih baik jika ditopang dengan media penyimpanan yang besar. Hal tersebut berkaitan
dengan adanya  virtual memory pada media penyimpanan yang biasanya digunakan
untuk pengaksesan suatu program (swap). 
Untuk komputer yang terangkai dalam suatu jaringan  (network) maka semakin banyak
jumlah pengguna dalam sistem jaringan akan semakin menurun kinerja dari sistem
jaringan komputer tersebut. Kriteria biaya berkaitan dengan perbandingan antara biaya
(cost) dan keuntungan yang diperoleh dari penggunaan sistem komputer.
Berdasarkan kriteria tersebut diatas, maka komputer bisa dikelompokkan dalam
beberapa klasifikasi, yaitu: komputer super,  mainframe, komputer mini,  server,  workstation dan komputer mikro. Saat ini jenis komputer mikro berkembang pesat
dengan beragam bentuk antara lain: komputer  desktop atau biasa disebut personal
komputer (PC), laptop, notebook, palmtop, pocket PC dan tablet PC. 
PERANGKAT KERAS (HARD-WARE)
Komputer sebagai sebuah mesin terdiri dari perangkat keras penyusun yang mewakili
alur input, proses, dan output. Perangkat keras dalam komputer secara garis besar terdiri
dari: 
(1) piranti masukan (input device),
(2) piranti pemrosesan, 
(3) piranti penyimpanan (storage device), dan 
(4) piranti keluaran (input device).
Piranti Masukan
Piranti masukan berfungsi sebagai pintu masuk dari data yang akan diolah oleh piranti
pemroses. Adapun jenis-jenis piranti masukan antara lain: papan kunci (keyboard), tetikus
(mouse), pemindai (scanner),  track ball,  joystick, kamera digital,  webcam,  voice recognition
device, layar sentuh (touch screen).

Piranti Pemrosesan
Piranti pemrosesan merupakan otak dari komputer, oleh karena itu sering diberi istilah
sistem unit. Piranti ini mengendalikan seluruh aktivitas dari seluruh sistem komputer.
Istilah yang biasa digunakan untuk menyebut piranti  ini adalah  central processing unit
(CPU). CPU terdiri dari dua bagian yaitu: 
(1) Arithmetic Logic Unit (ALU), yang berfungsi untuk menampilkan seluruh
fungsi aritmatika dan logika
(2) Control Unit, yang berfungsi untuk mengatur urutan aktivitas yang mesti
dilakukan untuk mengeksekusi instruksi, termasuk di dalamnya berupa
antrian dari instruksi (queue).
Kinerja dari CPU sangat tergantung pada  micro-processor yang terpasang pada suatu
komputer. Piranti  micro-processor lebih umum disebut  processor saja. Terdapat beberapa
perusahaan yang mengeluarkan  prosessor antara lain Intel Corp. (INTEL), Advanced
Microprocessor Device, Inc. (AMD), Cyrix dan Giga Pro. Varian dari  micro-processor
sangat beragam, yang merupakan keluaran INTEL antara lain Pentium I, Pentium II,
Pentium III, Pentium IV, dan yang terakhir menggunakan teknologi INTEL Pentium
Dual Core. Sedangkan  processor  keluaran AMD antara lain K5, K6, Duron, Athlon,
Anthlon XP, Barthron dan generasi terakhir adalah Opteron dan Sempron dengan
teknologi 64-Bit. Kedua perusahaan yaitu Intel dan  AMD bersaing merebutkan pasar,
terutama untuk keperluan  Personal Computer (PC). Processor di dalam CPU tertanam
dalam sebuah papan kerja bernama  main-board yang terdiri dari  socket,  slot dan  chipset
pendukung. Mainboard sangat menentukan keawetan komputer.
Kinerja  processor didukung oleh memori utama yang merupakan komponen
penyimpanan internal dari suatu komputer. Ada dua tipe memori utama yaitu  random
access memory (RAM) dan  read only memory (ROM). ROM sudah terpasang pada  main
board berupa chipset utama. Sedangkan RAM terpasang pada DIMM yang juga terdapat
pada mainboard. Satu  mainboard bisa jadi terdapat lebih dari satu DIMM, tergantung
jenis dan kemampuan upgrade-nya. Ada beberapa jenis RAM yaitu EDORAM, SDRAM,
DDRAM dan RDRAM. Selain memori utama di dalam CPU biasanya terdapat pula
memori lain yaitu register, buffer dan cache memory.
Slot–slot pada  mainboard digunakan untuk menancapkan beberapa piranti keluaran
antara lain VGA/AGP  card,  sound card, IO  card,  ethernet card dan  modem internal  serta
masih banyak lagi. 

Piranti Penyimpanan 
Piranti penyimpanan (storage device) mutlak diperlukan dalam suatu sistem komputer.
Seperti pada penjelasan sebelumnya, terdapat penyimpanan utama dalam CPU. Namun
kapasitas yang mungkin tersimpan dalam penyimpan utama sangat terbatas, sehingga
diperlukan piranti penyimpanan pendukung. Sistem penyimpanan pendukung sangat
beragam yaitu: 
(1) magnetic disk antara lain floppy disk dan hard disk, 
(2) optical disk antara lain CD, DVD dan Blue-Ray 
(3) pen drive, yaitu USB flash drive dan ZIP drive, 
(4) card, misalnya ATM, dan chip-card, serta 
(5) pita misalnya cassette dan reel to reel tape. 

Piranti Keluaran
Proses  out-put merupakan proses penerjemahan data dari suatu bentuk yang hanya
terbaca mesin menjadi bisa dimengerti oleh manusia atau terbaca oleh mesin lain.
Sedangkan piranti keluaran yaitu piranti yang mempunyai kemampuan
mengkomunikasikan informasi hasil keluaran dari proses komputer kepada manusia
atau mesin lain sehingga infomasi tersebut dapat digunakan. Piranti keluaran antara lain:
monitor;  printer;  plotter;  voice output device (speaker),  optical drive dan  computer output
microfilm device.   
PERANGKAT LUNAK (SOFT-WARE) 
Perangkat keras tidak dapat bekerja secara mandiri. Untuk dapat menjalankan fungsinya,
diperlukan serangkaian instruksi yang terkumpul dalam bentuk perangkat lunak
(software). Perangkat lunak antara lain sistem operasi dan perangkat lunak aplikasi. 
Sistem Operasi (Operating System) mempunyai beberapa fungsi utama antara lain: 
(1) manajemen sumber daya, 
(2) manajemen data, 
(3) manajemen gugus tugas, dan 
(4) penyediaan sarana komunikasi antar pengguna dan komputer. 
Sistem Operasi yang dikenal antara lain DOS, Windows,  Unix, MacOS, FreeBSD dan
Linux. Masing-masing sistem operasi mempunyai beberapa  varian yang merupakan
pengembangan maupun perbedaan  distro. Khusus untuk Linux merupakan sistem
operasi yang bersifat  Open Source, yang bisa dikembangkan, dimodifikasi dan
didistribusian oleh siapapun baik sifatnya berbayar atau tidak berbayar. 
Perangkat lunak yang berhubungan lansung dengan bahasa pemrograman antara lain:
interpreter, compiler, assembler, loader dan linker.  Pada perangkat lunak ini memuat
juga program generators (pembangkit kode program), debugging, pengujian program
(kompilasi), sebagaimana program yang diperlukan untuk pemrosesan pemrograman.
Perangkat lunak aplikasi merupakan suatu program yang membantu seorang user untuk
memabntu suatu tugas secara cepat. Biasanya perangkat lunak aplikasi mempunyai
gugus tugas tertentu misalnya berupa: 
(1) Pengolah kata, misalnya MS-Word, Abi Word, WS, Open Office Word, Star
      Office Word dan sebagainya
(2) Spreadsheet, misalnya MS Excel, Open Office Spreadsheet, Lotus 123
(3) Database management system (DBMS), misalnya MS-Access, Oracle, MySQL
(4) Graphics, misalnya Corel Draw, Adobe Photoshop, Macromedia Freehand   
(5) Communication, misalnya mIRC, Internet Explorer (IE), Mozilla Firefox dan
      Opera.



Hardware
Bentuk fisik dari komputer yang terdiri dari :
• Input device (Alat input)
Digunakan untuk menerima input yang
dapat berupa :
• signal input : energi yg akan dirubah oleh sistem
(data).
• maintenace input : program yang digunakan untuk
mengolah data masukan.
Contoh : keyboard, pointing device,
scanner, sensor.
• CPU (central processing unit)
Tempat pemrosesan instruksi-instruksi
program (disebut microprocessor).3
Central Processing Unit
CPU terdiri dari :
CU (control unit)
untuk mengatur dan mengendalikan semua
peralatan yang ada pada sistem komputer.
Mengatur kapan alat input menerima data dan
diolah dan ditampilkan.
ALU (arithmatic and logic unit)
melakukan semua perhitungan aritmatika dan
pembandingan.
Register
simpanan kecil yang mempunyai kecepatan
tinggi, digunakan untuk menyimpan data dan
instruksi yang sedang diproses. (IR: instruction
register, PC : program counter untuk alamat dan
general purpose register untuk data).
Main memory : RAM dan ROM
Output device (alat output)
Dapat berupa :
• Hard copy device, untuk mencetak pada
kertas/film (printer, plotter, computer
output to microfilm).
• Soft copy device, ditampilkan dalam bentuk
signal elektronik pada media soft (video
display, speaker).
• Drive device  (disk drive, tape drive).4
Output device
• Dapat berupa :
• Hard copy device, untuk mencetak pada
kertas/film (printer, plotter, computer
output to microfilm).
• Soft copy device, ditampilkan dalam bentuk
signal elektronik pada media soft (video
display, speaker).
• Drive device  (disk drive, tape drive).
Software
• Terdiri dari :
– sistem operasi, pengelola seluruh
sumberdaya sistem komputer dan
sebagai penyedia layanan.
– Perangkat lunak sistem (bahasa), untuk
menterjemahkan bahasa level tinggi ke
level rendah.
– Perangkat lunak aplikasi, untuk
menyelesaikan masalah tertentu.5
keterhubungan antar elemen komputer
ALAT INPUT
ALAT OUTPUT
ALAT PEMROSES
CPU
CU
ALU
REGISTER
MAIN MEMORY
R A M
R O M
Komputer
• Komputer adalah alat bantu untuk
menyelesaikan masalah.
• Dalam menyelesaian masalah
dengan komputer perlu
merumuskan langkah-langkah
penyelesaian masalah dalam
sekumpulan instruksi.
• Sekumpulan instruksi yang
dimengerti oleh komputer yang
disebut dengan program. 6