+ KOMPUTER 1 Wikky Fawwaz Al Maki STKIP Surya 2011 Komputer 1 WIKKY FAWWAZ AL MAKI STKIP Surya SURE Center • Jalan Scientia Boulevard Blok U No. 7 Gading Serpong, Tangerang 15810 Telp. +62-21-70200270 2 3 Kata Pengantar Selamat datang di modul kuliah komputer 1. Modul kuliah ini disusun untuk memberikan pengenalan dan pemahaman terhadap dunia teknik informatika dan komputer. Tentunya, materi yang dibahas dalam modul kuliah ini tidak mencakup keseluruhan ilmu yang terkait dunia komputer dan telekomunikasi. Meskipun demikian, penulis berharap modul ini bisa memberikan pengenalan dan gambaran yang cukup untuk memahami bidang ilmu komputer. Buku ini ditujukan tidak hanya untuk mahasiswa prodi pendidikan teknik informatika dan komputer tetapi juga untuk mahasiswa prodi lain di STKIP Surya yang mengambil mata kuliah komputer 1. Khusus untuk mahasiswa prodi pendidikan teknik informatika dan komputer, modul ini diharakan dapat menjadi modal dasar untuk memahami mata kuliah-mata kuliah selanjutnya di prodi pendidikan teknik informatika dan komputer. Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada rekan-rekan yang telah memberi masukan terkait modul kuliah komputer 1 ini. Tangerang, 20 Juni 2011 Penulis D a f t a r I si Komputer............................................................................................................4 1.1 Pendahuluan ...............................................................................................4 1.2 Komputer dan Sistem Komputer..................................................................4 1.3 Perangkat Keras...........................................................................................5 1.3.1CPU............................................................................................................................................. 5 1.3.2Memori........................................................................................................................................ 5 1.3.3Perangkat Input Output ..............................................................................................................7 1.4 Perangkat Lunak..........................................................................................9 Basis Data........................................................................................................11 2.1 Pendahuluan ..............................................................................................11 2.2 Data dan Basis Data...................................................................................11 2.3 Bahasa Basis Data.....................................................................................13 2.4 Sistem Manajemen Basis Data..................................................................13 2.5 Pemodelan Basis Data...............................................................................14 Sinyal Digital.....................................................................................................16 3.1 Pendahuluan .............................................................................................16 3.2Karakteristik Sinyal .....................................................................................17 3.3Perubahan Sinyal Analog Menjadi Sinyal Digital.........................................17 Representasi Data ...........................................................................................18 4.1 Pendahuluan..............................................................................................18 4.2 Data dan Representasi Biner.....................................................................19 4.3 Representasi Data Numerik.......................................................................19 4.4 Representasi Teks......................................................................................19 4.5 Representasi Citra......................................................................................23 4.6 Representasi Audio....................................................................................23 Sistem Bilangan................................................................................................23 5.1 Pendahuluan..............................................................................................23 5.2 Menghitung dalam Biner Tak Bertanda......................................................23 5.3 Pengubahan Bilangan Biner ke Bilangan Desimal.....................................25 5.4 Pengubahan Bilangan Desimal ke Bilangan Biner.....................................26 5.5 Bilangan Heksadesimal..............................................................................27 5.6 Sistem Bilangan BCD.................................................................................28 Aritmetika Komputer.........................................................................................29 6.1 Pendahuluan..............................................................................................29 6.2 Penjumlahan Biner.....................................................................................30 6.3 Pengurangan Biner.....................................................................................30 6.4 Metode Menyatakan Bilangan Biner Bertanda...........................................31 6.4.1 Sign and Magnitude.................................................................................................................. 31 6.4.2 Komplemen Satu...................................................................................................................... 33 6.4.3 Komplemen Dua....................................................................................................................... 34 6.5 Penjumlahan Bilangan Heksadesimal........................................................35 Algoritma dan Pemrograman............................................................................37 7.1 Pendahuluan..............................................................................................37 7.2 Bahasa Pemrograman................................................................................37 7.3 Pemrograman.............................................................................................38 7.4 Dasar Algoritma..........................................................................................38 7.5 Penulisan Algoritma....................................................................................39 Komunikasi Data..............................................................................................40 8.1 Pendahuluan .............................................................................................40 8.2 Dasar Komunikasi Data .............................................................................40 8.3 Sinyal Analog dan Digital............................................................................41 8.4 Transmisi Data............................................................................................43 8.5 Pengkodean Data.......................................................................................46 8.6 Multiplexing.................................................................................................49 Jaringan Komputer ..........................................................................................53 9.1 Pendahuluan .............................................................................................53 9.2 Kategori Jaringan Komputer ......................................................................55 9.2.1 Berdasarkan distribusi sumber informasi..................................................................................55 9.2.2 Berdasarkan media transmisi...................................................................................................55 9.2.3 Berdasarkan jangkauan geografis............................................................................................56 9.2.4 Berdasarkan peranan dan hubungan tiap komputer ................................................................58 9.3 Topologi Jaringan (LAN).............................................................................59 9.3.1 Topologi bus............................................................................................................................. 59 9.3.2 Topologi star............................................................................................................................. 60 9.3.3 Topologi ring............................................................................................................................. 60 9.3.4 Topologi pohon......................................................................................................................... 61 9.4 Komponen Jaringan Komputer ..................................................................61 KO M P U T E R 1 1 Bab Komputer Pada bab ini, siswa diharapkan dapat: 1. Memahami konsep komputer dan sistem komputer 2. Menjelaskan perangkat keras komputer 3. Menjelaskan perangkat lunak komputer 1.1 Pendahuluan K omputer sudah menjadi piranti (alat) yang mudah ditemukan di mana-mana. Kemampuan dan kehandalannya dalam memecahkan masalah menjadikannya banyak digunakan dalam berbagai aplikasi. Dalam kehidupan sehari-hari, komputer memiliki berbagai bentuk. Komputer tidaklah harus berupa laptop atau PC (personal computer). Dalam bab ini, kita akan mempelajari lebih mendalam tentang komputer dan sistem komputer. 7 KO M P U T E R 1 1.2 Komputer dan Sistem Komputer Komputer berasal dari bahasa latin yaitu computare yang berarti menghitung. Komputer adalah sistem elektronik yang memanipulasi data dengan cepat dan tepat serta dirancang agar secara otomatis menerima dan meyimpan data input, memprosesnya, dan menghasilkan output di bawah pengawasan suatu langkah-langkah instruksi program yang tersimpan di memori. Jadi, komputer pada dasarnya sebuah mesin yang terdiri dari jutaan komponen yang dapat saling bekerjasama membentuk sebuah sistem kerja yang terorganisasi. Dari definisi yang diberikan, komputer mempunya tugas dasar sebagai berikut: a. Menerima input (masukan) b. Memproses input c. Menyimpan perintah-perintah dan hasil pengolahan d. Menampilkan output (keluaran) kepada pengguna Agar komputer dapat diwujudkan sebagai piranti yang dapat digunakan untuk memecahkan masalah maupun mengolah data untuk menghasilkan informasi yang berguna, diperlukan sistem komputer. Sistem dapat didefinisikan sebagai sekumpulan elemen-elemen yang saling berhubungan dan dapat bekerjasama untuk mencapai suatu tujuan bersama. Sebuah sistem komputer terdiri dari 3 unit yaitu: a. Perangkat keras (hardware) Perangkat keras adalah piranti dalam sistem komputer yang dapat dilihat dan diraba secara fisik, misalnya keyboard, mouse, printer, dan lain-lain. b. Perangkat lunak (software) Perangkat lunak adalah program aplikasi yang digunakan untuk suatu keperluan tertentu. Bahasa pemrograman pun merupakan salah satu jenis perangkat lunak. c. Manusia (brainware) Manusia merupakan unsure penting dalam sistem komputer sebagai unsur yang mengoperasikan sistem komputer. 8 KO M P U T E R 1 1.3 Perangkat Keras Perangkat keras dalam sistem komputer dapat berupa unsur pokok (harus ada untuk membentuk sebuah komputer) maupun unsur penunjang. Perangkat keras dapat dibagi menjadi 3 bagian: a. b. c. CPU (central processing unit) Perangkat input/output Memori (piranti penyimpanan data) Pembagian di atas sejalan dengan arsitektur komputer yang masih digunakan saat ini. Komputer sekarang umumnya masih menggunakan arsitektur Von Neumann. Dalam arsitektur Von Neumann, komputer terdiri dari 4 bagian yaitu unit aritmetika dan logika (ALU), unit kontrol, memori dan perangkat input-output. ALU dan unit kontrol merupakan bagian dari CPU. 1.3.1 CPU CPU merupakan komponen paling penting dari suatu sistem komputer. CPU / prosesor merupakan “otak” sebuah komputer. Besarnya kecepatan sebuah prosesor (digambarkan dalam clock cycles) mempengaruhi kecepatan komputer dalam melakukan instruksi (perintah). CPU mempunyai sejumlah tugas yaitu menjalankan program-program yang disimpan dalam memori utama dengan cara mengambil instruksi-instruksi, menguji instruksi tersebut dan mengeksekusinya satu per satu. CPU itu sendiri tersusun dari 2 bagian yaitu: a. ALU (Arithmetic and Logic Unit) ALU terdiri dari dua bagian yaitu unit aritmetika dan unit logika. Dengan demikian ALU mengerjakan oparasi aritmetika dasar (penjumlahan, pengurangan, perkalian, pembagian), operasi logika (AND, OR, maupun NOT), dan perbandingan. b. dan ALU pun mengerjakan instruksi-instruksi bahasa mesin yang diberikan kepadanya. CU (Control Unit) Control Unit mengontrol operasi CPU dan komputer sehingga sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsinya dapat tercapai. CU pun bertugas mengambil instruksi-instruksi dari memori utama dan menentukan jenis instruksinya. CPU memiliki media penyimpanan internal yang dinamakan register. Register digunakan pada saat proses pengolahan data. Memori ini bersifat sementara karena digunakan untuk menyimpan data saat diolah maupun untuk proses berikutnya. CPU pun memiliki sistem koneksi dan bus yang menghubungkan komponen internal dan bus eksternal CPU. Dalam hal ini, komponen 9 KO M P U T E R 1 internal CPU terdiri dari ALU, CU, dan register-register sedangkan komponen eksternal CPU meliputi memori utama dan perangkat input/output. Memori 1.3.2 Memori adalah piranti untuk menyimpan data. Berdasarkan fungsinya, memori dapat dibagi menjadi 2 macam yaitu primary memory dan secondary memory. a. Memori utama (primary memory) Memori utama merupakan memori yang berfungsi menyimpan data dan instruksi dari program yang sedang dijalankan oleh komputer. Memori utama ini disebut juga memori internal. Fungsi utama memori ini adalah  Menyimpan sementara data dari perangkat input (masukan) samapi data terkirim ke ALU  Menyimpan sementara data hasil pemrosesan yang dilakukan di CPU sampai data itu terkirim ke  perangkat output (keluaran). Menampung isntruksi dari perangkat masukan maupun dari memori sekunder. Memori utama memiliki 4 bagian yaitu: 1) input storage area (tempat untuk menampung data yang dibaca) 2) program storage area (tempat penyimpanan instruksi-instruksi yang akan digunakan) 3) working storage area (tempat dilakukannya pemrosesan data) 4) output storage area (tempat penyimpanan informasi yang sudah diolah sebelum dikirim ke perangkat keluaran) Memori utama terdiri dari 2 macam yaitu RAM (random access memory) dan ROM (read only memory). Penjelasan rinci atas RAM dan ROM dapat dilihat di bawah ini. RAM RAM (memori akses acak) merupakan piranti penyimpanan yang isinya dapat diakses secara acak (random). RAM dapat ditulis dan dibaca. Komputer menggunakan RAM sebagai media penyimpanan primer. Selain RAM, komputer pun memiliki piranti penyimpanan lain yang dinamakan register. Hanya saja register ini terletak di dalam CPU. Register merupakan memori yang cepat. Memori RAM memiliki beberapa karakteristik yaitu: a. b. c. Kecepatan tinggi Akses acak (random) Volatil (data hilang jika aliran listrik hilang) Setiap komputer memiliki RAM dengan ukuran tertentu. Semakin besar ukuran RAM yang dimiliki oleh komputer, semakin besar kapasitas data maupun instruksi yang dapat disimpan. Selain digunakan dalam komputer sebagai piranti penyimpanan utama, RAM digunakan juga sebagai 10 KO M P U T E R 1 media penyimpanan data jangka panjang. RAM dapat dikelompokkan ke dalam 2 kategori berdasarkan cara penyimpanan datanya: a. b. SRAM (static random acess memory) SRAM merupakan memori yang dapat mempertahankan data tanpa perlu “disegarkan” secara berkala. DRAM (dynamic random access memory) DRAM merupakan memori yang perlu “disegarkan” untuk mempertahankan data. Hal ini menyebakan DRAM lebih lambat dibanding SRAM. Waktu akses yang dapat didukung DRAM adalah 60 nano detik (1 nano detik = 10 —9 detik) sementara yang dapat didukung oleh SRAM adalah 10 nano detik. Memori-memori yang termasuk DRAM yaitu  RDRAM (rambus dynamic random access memory) Memori ini dibuat oleh perusahaan yang bernama Rambus Inc. RDRAM dapat  mendukung kecepatan sampai 800 MHz. SDRAM (syncronous dynamic random access memory) DRAM ini memiliki karakteristik khusus yaitu adanya sinkronisasi dengan kecepatan bus CPU (sehingga dinamakan syncronous DRAM). Ciri khas memori ini adalah adanya label “PC” seperti PC100 dan PC133. Angka 100 atau 133 ini menunjukkan kecepatan bus  yang dapat didukung. DDR SDRAM (double data rate syncronous DRAM) Memori ini disebut juga SDRAM II. DDR SDRAM merupakan pengembangan dari SDRAM dengan kecepatan dua kali lipat. DDR SDRAM digunakan pada laptop karena  memori ini membutuhkan daya listrik yang relatif kecil. EDO DRAM (extended data out DRAM) Memori ini memiliki kelemahan yaitu tidak dapat bekerja pada bus dengan kecepatan lebih dari 66 MHz. EDO DRAM dikembangkan lebih lanjut menjadi BEDO RAM (burst a. b. c. extended data out dynamic random access memory) Selain tipe umum RAM di atas, ada sejumlah memori lain yang juga termasuk RAM: WRAM MRAM Video RAM ROM ROM merupakan memori yang hanya dapat dibaca sehingga tidak dapat digunakan untuk menyimpan data atau program yang kita buat. Pengisian memori ini oleh data atau program dilakukan oleh perusahaan pembuatnya. Biasanya ROM diisi perangkat lunak yang berkaitan dengan perangkat keras atau diisi dengan data / program untuk tujuan khusus misalnya diisi interpreter (penerjemah) bahasa pemrograman tertentu. 11 KO M P U T E R 1 ROM bersifat non volatil (data atau program tidak hilang meskipun aliran listrik hilang) sehingga data atau program di dalam ROM bersifat permanen. ROM yang dipakai di dalam komputer diisi program dasar komputer yang mengatur komponen-komponen di dalam komputer saat komputer dihidupkan. ROM seperti ini disebut ROM BIOS. ROM tidak terbatas pada ROM BIOS. Ada jenis ROM yang lain yang umum dipakai yaitu:     b. PROM (programmable read only memory) EPROM EEPROM EAROM Memori sekunder (secondary memory) Memori sekunder memilki karakterisitk sebagai berikut: a. Non volatil b. Kecepatan relatif lebih rendah dibanding memori utama c. Akses bersifat sekuensial (berurutan) Media penyimpanan (memori) sekunder ini merupakan media penyimpanan permanen. Data dapat disimpan dalam jangka panjang dan dapat dibaca kembali suatu saat. Media penyimpanan sekunder ini terdiri dari pita magnetik, piringan optik, piringan magnetik dan flash disk / thumb drive. Pita magnetik merupakan media penyimpanan data yang wujudnya berupa pita dalam gulungan besar ataupun kaset. Pita magnetik digunakan sebagai media penyimpanan untuk keperluan back-up data (membuat data cadangan). Piringan optik merupakan media penyimpanan yang berwujud sebuah piringan tipis. Piringan optik umumnya digunakan untuk menyimpan data berupa lagu, film atau data-data berukuran relatif besar sehingga data tidak bisa disimpan di dalam floppy disk. Contoh piringan optik adalah CD (compact disk) dan DVD (digital video disk). Piringan magnetik yang banyak dipakai adalah harddisk. Harddisk merupakan media penyimpanan yang umum dipakai dalam sistem komputer. Penyimpanan data pada harddisk dilakukan secara magnetik. Data yang disimpan dalam harddisk dapat diubah atau dihapus. Harddisk memiliki 2 komponen penyusun utama:  Platter Platter berupa piringan yang terbuat dari bahan aluminium dan dilapisi bahan megnetik. Umumnya, harddisk memeiliki sejumlah platter yang bekerja bersama-sama. Data yang disimpan di dalam harddisk pada dasarnya disimpan pada permukaan platter. Permukaan platter menyimpan data dalam sector dan track. Track membentuk lingkaran-lingkaran  konsentris pada permukaan platter. Setiap track terdiri dari sejumlah sector. Lengan pembaca 12 KO M P U T E R 1 Lengan pembaca merupakan komponen yang menyangga head. Head berfungsi untuk melakukan pembacaan maupun penulisan data pada permukaan platter. Oleh karena itu, lengan pembaca dapat bergerak dari pusat sampai pinggir platter. Flash disk merupakan penyimpanan data bertipe memori flash. Flash disk dihubungkan ke komputer menggunakan port USB (universal serial bus). USB merupakan socket model baru yang menghubungkan komputer dengan alat lainnya yang menjanjikan kemudahan instalasi dan kecepatan tranfer data. Flash disk banyak digunakan karena dinilai praktis, berukuran kecil, dapat dibawa ke mana-mana dengna mudah dan memilik kapasitas yang cukup besar. Di masa lalu, pengguna komputer menggunakan floppy disk sebagai media penyimpanan yang hanya dapat menyimpan data sebesar 1,44 Mb (flash disk bisa menyimpan data 16 GB). Kapasitas flash disk kian bertambah besar seiring pekembangan teknologi yang dicapai. Perangkat Input Output 1.3.3 Perangkat input/output (masukan/keluaran) memungkinkan komputer untuk menerima data dari luar dan menampilan/mengirimkan hasil pemrosesan di dalam komputer ke luar. Perangkat input mempunya cara kerja yang berbeda dengan perangkat output. Perangkat input mengubah data (proses encoding) yang berasal dari luar komputer menjadi data yang dapat dipahami dan diproses di dalam komputer sedangkan perangkat output mengubah data hasil pemrosesan komputer menjadi data yang dapat dipahami manusia (proses decoding). Perangkat input terdiri dari:  Keyboard Keyboard memiliki sejumlah tombol. Keyboard digunakan untuk memasukkan data ke         komputer. Keyboard terdiri dari beberapa jenis yaitu:  Keyboard serial : keyboard yang menggunakan kabel serial  Keyboard PS/2 : keyboard yang menggunakan kabel PS/2  Keyboard USB : keyboard yang menggunakan kabel USB Pointing devices (touch screen, mouse, light pen, stylus) Biasanya digunakan untuk pembuatan desain grafis, memilih menu di layar, dan lain-lain secara praktis. Mouse terdiri dari beberapa jenis yaitu: Mouse serial : mouse yang menggunakan kabel serial Mouse PS/2 : mouse yang menggunakan kabel PS/2 Mouse USB : mouse yang menggunakan kabel USB Scanner Scanner digunakan untuk memindai gambar atau teks melalui teknik pengenalan objek yang memanfaatkan pantulan cahaya. Pembaca kartu memori Web camera Joystick Joystick biasa digunakan untuk bermain game. 13 KO M P U T E R    1 Perangkat output terdiri dari: Printer Printer digunakan untuk mencetak dokumen. Printer terdiri dari printer dot matrix, deskjet dan laserjet. Speaker Speaker dalah alat output suara. Monitor Monitor berfungsi untuk menampilkan data dalam bentuk teks atau grafis. Printer terdiri dari jenis CRT dan LCD. LCD (cathod ray tube) merupakan monitor berbentuk tabung) sedangkan LCD (liquid crystal display) adalah monitor yang permukaanya datar dan  konsumsi listriknya lebih kecil dibandingkan layar jenis CRT. Headphone Headphone adalah alat output suara yang diletakkan di kepala. 1.4 Perangkat Lunak Perangkat lunak dapat didefinisikan sebagai data elektronik (diformat dan disimpan secara digital) yang berupa program atau kumpulan instruksi yang akan dieksekusi oleh komputer untuk menyelesaikan masalah tertentu. Pada zaman dahulu, perangkat lunak merupakan satu kesatuan dengan komputer. Pada masa itu, komputer diciptakan hanya untuk mewujudkan tujuan tertentu saja dan hanya memeiliki sebuah program di dalamnya. Pada saat komputer mulai berkembang pesat, banyak perusahaan membuat berbagai macam perangkat lunak. Secara garis besar, perangkat lunak dapat dibagi menjadi 2 yaitu: a. Perangkat lunak sistem Perangkat lunak sistem terdiri dari beberapa macam. Yang termasuk perangkat lunak sistem adalah sistem operasi, bahasa pemrograman dan perangkat lunak utiliti.  Sistem operasi Dari pandangan pemrogram dalam mengembangkan sistem oeprasi, sistem operasi didefinisikan sebagai program yang menutup detil perangkat keras yang rumit kepada pemrogram (programmer) dan menyediakan antarmuka (interface) yang mudah bagi pemrogram untuk mengkases perangkat keras dalam mengembangkan sebuah progam. Secara umum, sistem operasi merupakan perangkat lunak yang berperan dalam bekerjanya sebuah komputer. Saat komputer dijalankan, sistem operasilah yang pertama kali bekerja. Perangkat lunak ini mengatur seluruh proses yang terjadi di dalam komputer, menerjemahkan perintah, mengatur penggunaan memori dan perangkat keras lainnya, dan lain-lain. Sistem operasi biasanya berkaitan dengan mesin tertentu. Komputer buatan perusahaan Apple memakai sistem operasi yang dibuat oleh perusahaan yang sama. Meskipun demikian, 14 KO M P U T E R 1 sebuah komputer bisa diinstal berbagai pilihan sistem operasi. Komputer-komputer sekarang pada dasarnya berkembang dari komputer yang dibuat oleh IBM. Komputer saat ini memungkinkan kita untuk memilih sistem operasi yang digunakan. Kita bisa menginstal sistem operasi Windows (dibuat oleh Microsoft) atau sistem operasi turunan Linux. Sistem operasi yang beredar saat ini ada yang berbayar dan ada yang tidak. Microsoft Windows adalah salah satu contoh sistem operasi berbayar (kita harus membayar lisensi). Sistem operasi pun ada yang bersifat gratis, contohnya Ubuntu. Ubuntu merupakan turunan (distro) dari Linux yang juga merupakan sistem operasi yang bersifat open source. Sistem operasi open source (sumber terbuka) adalah sistem operasi yang lisensinya memberi kebebasan kepada penggunanya dalam menjalankan program, mempelajari dan memodifikasi program, serta mendistribusikan penggandaan program asli atau yang sudah dimodifikasi tanpa harus membayar royalti kepada pengembang sebelumnya. Windows bukanlah sistem operasi yang bersifat open source. Sistem operasi yang bersifat open source ada yang bersifat gratis dan ada yang tidak.  Bahasa pemrograman Bahasa pemrograman merupakan perangkat lunak yang mengubah algoritma yang dibuat seseorang ke dalam bentuk yang dapat dipahami oleh komputer. Contoh bahasa pemrograman adalah Pascal, C++, Java, Basic, Ruby, dan lain-lain.  Program utiliti Program utiliti merupakan perangkat lunak yang fungsinya membantu sistem operasi. Tugas yang dijalankan oleh program utiliti sifatnya khusus dan berkatian dengan manajemen fungsi komputer, sumber daya, berkas (file) dan lain-lain. Program utiliti meliputi program-program untuk memeriksa floppy disk yang rusak, mengatur ulang partisi harddisk, melindungi password, memeriksa apakah komputer terinfeksi virus, dan lain-lain. Contoh program utiliti adalah Norton Anti Virus (untuk memeriksa apakah komputer terinfeksi virus atau tidak, membersihkan komputer dari virus dan lain-lain), Scandsik, dan lain-lain. b. Perangkat lunak aplikasi Perangkat lunak aplikasi merupakan perangkat lunak yang dibuat untuk suatu keperluan yang spesifik. Perangkat lunak aplikasi sangat beragam jenisnya. Perangkat lunak aplikasi dapat dikelompokkan berdasarkan fungsinya. Tabel di bawah ini menunjukkan jenis-jenis perangkat lunak aplikasi. Jenis perangkat lunak aplikasi Pengolah kata Contoh Microsoft Word, Open Office Writer, 15 KO M P U T E R 1 Presentasi Basis Data Pengolah Grafis Wordstar Microsoft Power point, Impress MySQL, Oracle, Microsoft Access Adobe Photoshop, Macromedia Pengembang Web Fireworks, Corel Draw Macromedia Dreamweaver, Multimedia Frontpage Windows Media Player, Winamp Microsoft Tabel 1.1 Perangkat lunak aplikasi Latihan Soal 1. Apa saja yang menyusun sebuah sistem komputer? 2. Jelaskan bagian-bagian yang menyusun arsitektur Von Neumann? 3. Jelaskan komponen-komponen CPU! 4. Apa fungsi utama memori? 5. Sebutkan karakteristik memori utama? 6. Apa perbedaan memori volatil dan non volatil? 7. Mengapa DRAM lebih lambat dari SRAM? 8. Sebutkan macam-macam perangkat input-output? 9. Apa yang kamu ketahui tentang perangkat lunak atau program sumber terbuka (open source)? 10. Jelaskan macam-macam perangkat lunak! 16 KO M P U T E R 1 17 KO M P U T E R 1 2 Bab Basis Data Pada bab ini, siswa diharapkan dapat: 1. Memahami konsep data dan basis data 2. Menjelaskan bahasa basis data 3. Memahami sistem manajeman basis data 4. Menjelaskan pemodelan basis data 2.1 Pendahuluan D i masa sekarang, kita tak terlepas dari dunia informasi. Apakah informasi itu? Informasi merupakan kumpulan fakta-fakta secara mentah. Setelah informasi itu diolah dan diorganisasi maka lahirlah data. Untuk mengorganisasi dan menganalisis data, kita memerlukan suatu perangkat lunak. Program aplikasi yang ada sekarang ini mampu mengelola data dengan cara tertentu. Pada dasarnya, kebutuhan kita terhadap perangkat lunak sistem informasi itu tidak terbatas dalam ruang lingkup mengelola data melainkan juga dalam mencari hubungan antara data-data tersebut. Ada dua sistem informasi aplikasi yang digunakan yaitu electronic spreadsheets dan sistem manajemen basis data. Electronic spreadsheets merupakan alat yang cukup praktis untuk analisis data berdasarkan persamaan (formula) yang mendefinisikan hubungan di antara data. Lain halnya dengan sistem manajemen basis data. Sistem manajemen basis data menangani data yang lebih besar dan 18 KO M P U T E R 1 sering dicari maupun diorganisasi ke dalam bagian-bagian tertentu. Pernahkah Anda belanja ke sebuah toko? Ketika Anda membayar di kasir, Anda melihat kasir begitu mudahnya untuk mendata dan menghitung berapa yang harus anda bayar. Kemudahan ini disebabkan adanya basis data yang dimiliki toko itu. Toko tersebut memiliki basis data yang dikelola oleh sebuah sistem manajeman basis data. Dalam basis data itu banyak data yang dimasukkan misalnya jenis barang, nama barang, harga dan lainlain. Penggunaan basis data dan sistem manajemen basis data dlaam kehidupan sehari-hari pada saat ini sudah meluas. Pada bab ini, kita akan mempelajari basis data dan sistem manajemen basis data. 2.2 Data dan Basis Data Data merupakan fakta mengenai suatu objek, peristiwa, konsep, keadaan dan sebagainya yang dapat dicatat dan mempunyai arti secara implisit. Data dapat dinyatakan dalam bentuk angka, karakter atau simbol. Ketika data dikumpulkan dan diorganisasi sehingga saling berhubungan maka lahirlah basis data (database). Dalam hal ini, data diorganisasikan berdasarkan aturan yang khusus. Dari pengertian ini, kita bisa ambil kesimpulan bahwa data yang terkumpul secara acak dan tanpa mempunyai arti tidak bisa dikatakan sebagai basis data. Pengorganisasian data biasanya dilakukan untuk tujuan tertentu. Pada prakteknya, data diorganisasi ke dalam: a. Elemen data (field) Elemen data merupakan satuan data paling kecil sehingga tidak dapat dipecah lagi menjadi unit yang memiliki arti. Contoh elemen data mahasiswa yaitu nama, nomor induk mahasiswa, program b. studi, jenis kelamin dan asal SMA. Rekaman (record) Jika sejumlah elemen data yang saling terkait digabungkan, maka akan terbentuk rekaman (disebut juga tupel). c. Berkas (file) Semua rekaman yang bertipe sama akan membentuk berkas 19 KO M P U T E R 1 Gambar 2.1 Hirarki data Dengan adanya basis data, kita bisa mencegah adanya data ganda. Manfaat lain dari basis data adalah sebagai berikut. a. Untuk keamanan b. Mengurangi tempat penyimpanan c. Meningkatkan hubungan antar data d. Memungkinkan adanya penggunaan bersama atas data yang ada e. Kecepatan dan kemudahan dalam mengakses data Dalam sebuah sistem informasi, basis data merupakan unsur penting. Basis data harus dikelola dengan baik. Oleh karena itu, seorang pengguna atau administrator melakukan sejumlah operasi pada basis data. Pembuatan dan penghapusan basis data pada dasarnya merupakan operasi-operasi pada basis data. Operasi-operasi lainnya yang dilakukan terhadap basis data adalah sebagai berikut: a. Membuat tabel/file dan memasukkannya ke basis data b. Menghapus tabel.file dari basis data c. Menambah data baru ke sebuah tabel/file d. Mengambil data dari sebuah tabel/file e. Menghapus data dari sebuah tabel/file f. Mengubah data dari sebuah tabel/file Data disimpan dalam suatu sistem manajemen basis data. Sistem ini tidak menamilkan bagaiamna data tersebut disimpan dan dipelihara secara terstruktur. Akibatnya, data yang terlihat oleh pengguna bisa berbeda dengan data yang tesimpan secara fisik. Dalam basis data, kita mengenal istilah abstraksi data. Abstraksi data merupakan tingkatan atau level yang berkaitan dengan bagaimana seorang pengguna melihat data yang terdapat dalam suatu basis data. Level-level (tingkatan) dalam abstraksi data terdiri dari: a. Level fisik Level fisik (level internal) mennggambarkan bagaimana suatu data tersimpan. Pada level terendah, pengguna melihat data sebagai gabungan dari data dan strukturnya. Tingkatan ini berkaitan dengan penempatan record data, teknik kompresi (pemampatan) dan enkripsi data serta alokasi ruang penyimpanan untuk data maupun indeks. b. Level konseptual 20 KO M P U T E R 1 Menggambarkan data apa yang tesimpan dalam basis data dan hubungannya dengan data yang lain yang ada dalam basis data. Tingkat konseptual menyatakan hal-hal sebagai berikut:  Informasi keamanan dan integritas data  Entitas (objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain), atribut (elemen yang dimiliki oleh setiap entitas yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut) dan relasinya (hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda).  Batasan pada data c. Level penampakan Level eksternal ini merupakan level tertinggi. Pada level ini, pengguna melihat data sebagai satu kesatuan yang utuh meskipun data yang diakses adalah yang dibutuhkan pengguna saja (bukan keseluruhan data). External level User 1 User 2 View 1 View 2 Conceptual level Internal level User n …… View n Conceptual schema Internal schema Physical data organization Database Gambar 2.2 Level abstraksi data 2.3 Bahasa Basis Data Bahasa basis data terdiri dari dua macam yaitu: a. Data Definition Language (DDL) Bahasa ini digunakan untuk membuat tabel baru, mengubah tabel, membuat indeks dan lain-lain. Hasil dari perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut kamus data. Kamus data ini merupakan metadata. Metadata adalah data yang mendeskripsikan data sebenarnya. 21 KO M P U T E R b. 1 Data Manipulation Language (DML) Bahasa ini dipakai dalam menambah, mengubah, menghapus data maupun mengambil data pada suatu basis data. Dengan adanya DML, pengguna dapat dengan mudah mengakses data. DML terdiri dari 2 macam yaitu:   Prosedural DML prosedural mensyaratkan pengguna untuk menentukan data apa yang akan diinginkan dan cara memperolehnya. Contoh DML Prosedural : FoxBase Non prosedural DML non prosedural mensyaratkan pemakai untuk menentukan data apa yang diinginkan tapi pengguna tidak perlu menyebutkan bagaimana cara memperolehnya. Contoh DML non prosedural : SQL 2.4 Sistem Manajemen Basis Data Sistem manajemen basis data atau data base management system (DBMS) merupakan perangkat lunak yang digunakan untuk memasukkan, mengubah atau menghapus data dengan mudah dan efektif. DBMS memiliki sejumlah kelebihan yaitu: a. Kepraktisan Penggunaan DBMS membuat penyimpanan data lebih praktis karena semua data bisa disimpan dalam suatu media penyimpanan yang berukuran kecil. Hal ini jelas berbeda jika b. c. data dicatat di atas kertas. Kecepatan Dengan adanya DBMS yang tentunya berada dalam komputer, kita dapat mencari ataupun mengakses data dengan lebih cepat. Informasi yang akurat dan baru DBMS memudahkan pengguna untuk memasukkan, mengubah dan menghapus data secara cepat. Hal ini menyebabkan data yang ada di dalam DBMS akurat dan dapat senantiasa diperbarui. Di samping kelebihan-kelebihannya, DBMS memiliki kelemahan yaitu: a. DBMS membutuhkan biaya yang besar. Biaya ini meliputi biaya perangkat keras, perangkat b. lunak maupun untuk keperluan sumber daya manusia yang akan mengoperasikan DBMS. DBMS memungkinkan terjadinya kesalahan (yang selanjutnya akan mengakibatkanya kesulitan dalam pemeliharaan data) karena DBMS lebih kompleks dibanding pengelolaan basis data c. dengna menggunakan kertas. DBMS memiliki resiko tinggi berupa hilangnya data jika data disimpan dan dikelola secara terpusat. 22 KO M P U T E R 1 2.5 Pemodelan Basis Data Sebuah basis data harus didesain dengan hati-hati. ER (Entity-Relationship) merupakan teknik terpopuler untuk mendesain basis data. Dengan kata lain, model ER merupakan model yang paling sering dipakai untuk basis data. Dalam pemodelan ER dilakukan dengan tahapan sebagai berikut: a. Memilih entitas-entitas yang akan disusun dalam basis data dan menentukan hubungan antar entitas yang telah dipilih. b. Melengkapi atribut-atribut yang sesuai pada entitas dan hubungan. Model ER memiliki elemen-elemen yaitu entitas, atribut dan relasi. Elemen-elemen dalam model ER dapat digambarkan pada gambar diagram di bawah ini: Gambar 2.3 Elemen-elemen ER-Model Secara lebih jelas, elemen-elemen model ER dijelaskan sebagai berikut. 1. Entitas Entitas merupakan suatu objek yang dapat dibedakan dari objek-objek yang lain. Entitas bisa nyata (misalnya, mahasiswa, mobil dan lain-lain) tetapi bisa pula abstrak (misalnya hari kerja, gaji karyawan, dan lain-lain). Himpunan entitas didefinisikan sebagai suatu himpunan yang memiliki tipe yang sama misalnya himpunan orang yang menuntut ilmu di sebuah perguruan tinggi disebut mahasiswa. Suatu entitas direpresentasikan oleh atribut. Sebagai contoh, entitas bernama komputer direpresentasikan dengan atributnya yang berupa jenis dan merek. 2. Atribut Atribut adalah suatu fungsi yang memetakan suatu himpunan entitas ke dalam suatu domain. Domain adalah himpunan nilai yang dapat diberikan pada atribut tersebut. Secara sederhana, atribut menjelaskan entitas. Pada dasarnya entitas dijabarkan dengan suatu himpunan dari atribut dan nilai data. Sebagai contoh, mahasiswa dijabarkan dengan himpunan {(nama, Kurniawan), 3. (usia, 19), (kota-asal, Tangerang)}. Relasi 23 KO M P U T E R 1 Entitas yang satu dengan yang lainnya diasosiakan dalam suatu hubungan (relationship) . Suatu relasi dapat memiliki beberapa atribut. Jumlah kelas entitas dalam suatu relasi disebut derajat relasi. Gambar di bawah ini merupakan contoh dari relasi berderajat dua (melibatkan dua kelas entitas): Gambar 2.4 Relasi berderajat dua Relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu basis data biasanya berupa relasi tipe biner. Ketiga tipe biner tersebut adalah a. Satu ke satu (one-to-one) Hubungan terjadi bila setiap entitas dari suatu himpunan entitas berhubungan paling banyak dengan satu entitas lain yang berasal dari himpunan entitas yang lain. a1 b 1 a2 b 2 a3 b 3 a4 b 4 Gambar 2.5 Satu ke satu b. Satu ke banyak (one-to-many) Relasi ini terjadi ketika setiap entitas dari himpunan entitas A memiliki hubungan dengan lebih dari satu entitas yang berasal dari himpunan entitas B tetapi tidak kebalikannya. Dengan kata lain, entitas yang berasal dari himpunan entitas B berhubungan dengan satu entitas yang berasal dari himpunan entitas A. 24 KO M P U T E R 1 b 1 a1 b 2 a2 b 3 a3 b 4 b 5 Gambar 2.6 Satu ke banyak c. Banyak ke banyak (many-to-many) Hubungan saling memiliki lebih dari satu dari setiap instansi entitas terhadap instansi entitas lainnya. a1 b 1 a2 b 2 a3 b 3 a4 b 4 Gambar 2.6 Banyak ke banyak Latihan Soal 1. Apa yang dimaksud dengan basis data (database)? 2. Apa perbedaan antara field, record dan file? 3. Sebutkan manfaat dari basis data! 4. Apa saja operasi-operasi yang dilakukan pada basis data? 5. Sebutkan level abstraksi data? 25 KO M P U T E R 1 6. Apa perbedaan DDL dan DML? 7. Jelaskan macam-macam DML! 8. Sebutkan kelebihan-kelebihan dan kelemahan-kelemahan DBMS? 9. Jelaskan model elemen-elemen ER! 10. Jelaskan 3 macam relasi tipe biner! 3 Bab Sinyal Digital Pada bab ini, siswa diharapkan dapat: 1. Memahami konsep sinyal analog dan digital 2. Menjelaskan karakteristik sinyal 26 3. Menjelaskan cara mengubah sinyal analog menjadi sinyal digital KO M P U T E R 1 3.1 Pendahuluan P ernahkah Anda mendengar kata “sinyal”? Secara sederhana, sinyal dapat diartikan sebagai sinyal untuk melanjutkan suatu kegiatan. Sinyal ini dapat berbentuk simbol-simbol, bunyibunyi tertentu, dan lain-lain. Sinyal pada dasarnya merupakan besaran fisis yang berubah menurut ruang dan waktu. Secara matematis, sinyal dapat didefinisikan sebagai fungsi dari satu atau lebih variable bebas (independen). Sinyal banyak digunakan dalam banyak peralatan elektronik, misalnya ponsel (telepon seluler). Telepon seluler (handphone) merupakan alat komunikasi yang banyak digunakan di masa sekarang. Komunikasi antara dua orang melalui telepon seluler dapat terjadi karena adanya pengiriman dan penerimaan sinyal digital yang terjadi pada kedua perangkat tersebut. Sinyal digital merupakan salah satu bentuk sinyal. Sinyal digital pun digunakan dalam komunikasi antara komputer dan printer, antara komputer yang satu dengan komputer yang lain dalam sebuah jaringan komputer, dan lain-lain. Dalam kehidupan sehari-hari, kita tidak hanya memanfaatkan sinyal digital. Selain sinyal digital, sinyal analog pun sering ditemukan dalam kehidupan sehari-hari. Sinyal analog bersifat kontinyu seperti yang terlihat pada gambar 3.1. Secara fisik, sinyal analog mempunya nilai sepanjang waktu. Gambar 3.1 Sinyal analog yang bersifat kontinyu 27 KO M P U T E R 1 Pada dasarnya, fenomena yang terjadi di dunia nyata bersifat analog. Nilai analog ini berkaitan dengan bilangan pecahan. Untuk lebih jelasnya, kita ambil sebuah contoh. Jika kita mengukur berat sebuah telur yang diambil acak dari sebuah rak telur, maka berat dari telur-telur tersebut tidak akan selalu berupa bilangan bulat seperti 60 gram, 68 gram, 71 gram, ataupun 75 gram. Akan tetapi, berat telur dapat berupa bilangan pecahan seperti 73, 5467 gram. Berat merupakan salah satu contoh nilai analog. Contoh lain nilai analog yaitu tinggi badan, waktu, tegangan, jarak dan suhu. Nilai-nilai analog seperti tegangan bisa ditampilkan dalam bentuk grafik. Dalam hal ini, sumbu x menyatakan besaran waktu dan sumbu y menyatakan besaran tegangan Jika kita memiliki data berupa tegangan (dalam satuan volt) yang berubah-ubah menurut waktu, maka perubahan tegangan terhadap waktu dapat membentuk sebuah kurva yang kontinyu. Dengan demikiann, sinyal analog yang nilainilainya dinyatakan dalam bilangan pecahan memiliki resolusi yang tak terbatas. Karakteristik ini membedakannya dengan sinyal digital. Transmisi (pengiriman) sinyal analog melalui sebuah medium (kabel, udara, serat optik, dan lainlain) seringkali mengalami masalah karena adanya derau atau noise yang mengakibatkan data yang diterima berbeda dengan data yang dikirimkan. Noise yang terkirim bersama data akan semakin kuat ketika sinyal analog dikirim dari satu titik ke titik lain yang jaraknya jauh. Jarak pengiriman yang jauh ini menyebabkan sinyal melemah. Pelemahan sinyal ini harus diatasi dengan memasang amplifier untuk memperkuat sinyal. Pada saat bersamaan, penguatan sinyal yang berisi data akan memperkuat noise yang terkirim bersama data. Oleh karena itu, untuk mengatasi derau yang muncul saat pengiriman sinyal, sinyal analog harus diubah menjadi sinyal digital yang tahan terhadap derau. Sinyal dan system digital banyak dipakai saat ini. Banyaknya peralatan berbasis sistem digital saat ini tidak terlepas dari kelebihan yang ada pada sistem digital. Selain tahan terhadap noise, sinyal digital dapat diolah dengan menggunakan sejumlah algoritma matematika sehingga ketepatan (akurasi) pengolahan sinyal untuk berbagai aplikasi dapat diperoleh. Selain itu, sekuen bilangan pada sistem digital dapat dengan mudah disimpan. Pengambilan sampel merupakan hal penting. Jika sampel yang diambil semakin banyak, sinyal digital yang diperoleh akan semakin mendekati sinyal aslinya (sinyal analog). Sebaliknya, jika sampel yang diambil terlalu sedikit, banyak detail sinyal analog yang hilang. Dengan demikian, sinyal digital yang diperoleh menjadi representasi yang kurang akurat atas sinyal analognya. Dalam hal ini, banyak informasi yang terbuang akibat resolusi yang kurang baik. 28 KO M P U T E R 1 3.2 Karakteristik Sinyal Dasar sistem telekomunikasi adalah sinyal. Sinyal yang mengalir dari satu tempat ke tempat lain dapat berbentuk analog atau digital. a. Sinyal Analog Sinyal analog biasa juga disebut sinyal kontinyu, karena bentuknya serupa gelombang yang kontinyu. yang membawa informasi dengan mengubah karakteristik gelombang. Sinyal seperti ini biasa dijumpai pada listrik yang berasal dari PLN dan berbentuk gelombang sinus seperti yang terlihat pada Gambar 9.2(a). Dalam sistem telekomunisi, sinyal yang mengalir pada jaringan telepon umumnya juga berupa syarat analog. Sinyal analog mempunyai ciri yaitu memiliki amplitudo dan frekuensi. Jika dikaitkan dengan suara, ketinggian gelombang ditentukan oleh amplitudo. yang menentukan keras tidaknya suara, sedangkan frekuensi menentukan jumlah siklus gelombang dalam satu detik, yang berimplikasi pada kenyaringan suara (melengking atau tidak). Pada sinyal analog. nilai amplitudo setiap saat berubah-ubah. b. Sinyal Digital Sinyal digital biasa juga disebut sinyal diskret. Sinyal ini tersusun atas dua keadaan, yang biasa disebut bit, yaitu berupa keadaan 0 dan keadaan 1. Keadaan 1 dapat diperoleh dengan misalnya diwakili oleh tegangan +5 volt dan keadaan 0 diwakili oleh 0 volt. c. Pertukaran Sinyal Analog dan Digital Dalam prakteknya, komunikasi antarkomputer kadang mengalami perubahan dari sinyal analog ke digital dan sebaliknya. Sebagai contoh, komunikasi dua buah komputer yang melibatkan jaringan telepon, melakukan perubahan sinyal seperti berikut. Komputer pertama mengirimkan sinyal digital dan kemudian oleh peranti modem akan berubah menjadi sinyal analog. Sinyal analog inilah yang mengalir pada jaringan telepon. Selanjutnya. sinyal analog diubah oleh modem menjadi sinyal digital pada bagian penerima. Sinyal digital merupakan sinyal data dalam bentuk pulsa yang dapat mengalami perubahan yang tiba-tiba dan mempunyai besaran 0 dan 1. Sinyal digital hanya memiliki dua keadaan, yaitu 0 dan 1, sehingga tidak mudah terpengaruh oleh derau/noise, tetapi transmisi dengan sinyal digital hanya mencapai jarak jangkau pengiriman data yang relatif dekat. Biasanya sinyal ini juga dikenal dengan sinyal diskret. 29 KO M P U T E R 1 Sinyal yang mempunyai dua keadaan ini biasa disebut dengan bit. Bit merupakan istilah khas pada sinyal digital. Sebuah bit dapat berupa nol (0) atau satu (1). Kemungkinan nilai untuk sebuah bit adalah 2 (21) buah. Kemungkinan nilai untuk 2 bit adalah sebanyak 4 (2 2), berupa 00, 01, 10, dan 11. Secara umum, jumlah kemungkinan nilai yang terbentuk oleh kombinasi n bit adalah sebesar 2n buah. Komputer mengolah data yang ada adalah secara digital, melalui sinyal listrik yang diterimanya atau dikirimkannya. Pada prinsipnya, komputer hanya mengenal dua arus, yaitu on atau off, atau istilah dalam angkanya sering juga dikenal dengan 1 (satu) atau 0 (nol). Kombinasi dari arus on atau off inilah yang yang mampu membuat komputer melakukan banyak hal, baik dalam mengenalkan huruf, gambar, suara, bahkan film-film menarik yang anda tonton dalam format digital. Sinyal digital ini memiliki berbagai keistimewaan yang unik yang tidak dapat ditemukan pada teknologi analog, yaitu: a. Mampu mengirimkan informasi dengan kecepatan cahaya yang dapat membuat informasi dapat dikirim dengan kecepatan tinggi. b. Penggunaan yang berulang-ulang terhadap informasi tidak mempengaruhi kualitas dan kuantitas informasi itu sendiri c. Informasi dapat dengan mudah diproses dan dimodifikasi ke dalam berbagai bentuk d. Dapat memproses informasi dalam jumlah yang sangat besar dan mengirimnya secara interaktif. 3.3 Perubahan Sinyal Analog Menjadi Sinyal Digital Sinyal analog dapat mengalami pelemahan (atenuasi) dalam transmisinya. Pelemahan ini bisa disebabkan oleh redamana ataupun derau (noise). Noise dan redaman ini akan tertambahkan pada sinyal asli. Redaman merupakan faktor penyebab penurunan kualitas sinyal yang sumbernya berasal dari medium transmisi. Suatu medium transmisi memiliki konstanta redaman. Redaman yang muncul ini akan menyebabkan menurunnya level sinyal. Noise bisa disebabkan oleh agitasi termal yang terjadi pada saluran. Besarnya agitasi termal ini sebanding dengan suhu saluran dan suhu di sekitar saluran. Noise bisa menyebabkan menurunnya kualitas sinyal akibat munculnya sinyal tak diinginkan yang menyertai sinyal asli. Di sisi penerima, redaman dan noise menyebabkan sinyal yang diterima tidak sama dengan sinyal asli yang dikirimkan oleh pengirim. Masalah ini bisa dipecahkan dengan mengubah sinyal analog menjadi sinyal digital. Alasan lain perlunya pengubahan sinyal analog menjadi sinyal digital adalah dapat diolahnya sinyal digital dengan menggunakan komputer. Proses pengubahan sinyal analog menjadi sinyal digital bisa dilakukan dengan menggunakan 30 KO M P U T E R 1 teknik PCM. Dalam teknik ini, sinya analog dikonversi menjadi deretan pulsa. Pulsa-pulsa ini terdiri dari dua level yaitu nilai satu (merepresentasikan ada arus atau tegangan) dan nilai nol (tidak ada arus atau tegangan). Secara garis besar, pengubahan sinyal analog menjadi sinyal digital terdiri dari 3 bagian yaitu: a. Sampling b. Quantizing (kuantisasi) c. Coding Sampling adalah proses pencuplikan sinyal. Dalam proses ini, titik cuplik dalam fungsi waktu pada sinyal analog yang ingin diubah ditentukan. Dalam proses sampling, frekuensi sampling harus benarbenar diperhatikan. Frekuensi sampling harus lebih besar dari 2 kali frekuensi maksimum dari sinyal asli yang dicuplik. Teori sampling (sampling theorem) ini dikenal dengan Nyquist sampling rate. Jika pencuplikan sinya mengikuti teori sampling, sinyal asli dapat direkonstruksi di sisi penerima tanpa mengalami aliasing (distorsi). Setelah proses sampling, tahap selanjutnya adalah quantizing (kuantisasi). Pada tahap ini dilakukan penentuan level pada setiap besaran analog yang sudah dicuplik. Pada proses kuantisasi, semakin banyak jumlah level yang digunakan maka akurasi akan semakin bagus. Dengan kata lain, sinyal hasil digitalisasi akan semakin mendekati sinyal aslinya. Akan tetapi, semakin banyak level kuantisasi, memori yang dibutuhkan pun meningkat. Dalam hal ini, ada trade-off antara akurasi dan kebutuhan memori. Setelah tahap kuantisasi selesai, tahapan selanjutnya dari proses digitalisasi sinyal analog adalah proses coding. Pada dasarnya proses ini merupakan penentuan level setiap besaran analog hasil proses kuantiasi ke dalam bentuk bilangan biner. Pada tahap ini, kita harus menentukan berapa bit yang akan dipakai. Jika kita memakai 2 bit maka amplitudo sinyal hasil kuantisasi bisa dinyatakan dengan 4 level yaitu 00, 01, 10 dan 11. Jika pada proses coding menggunakan 3 bit, amplitudo sinyal hasil kuantisasi bisa menggunakan 8 level yaitu 000,001, 010, 011, ......., 111. Jumlah level yang digunakan saat coding memenuhi persamaan L= 2n dengan n adalah jumlah bit yang digunakan. 31 KO M P U T E R 1 4 Bab Representasi Data Pada bab ini, siswa diharapkan dapat: 1. Memahami konsep data dan mampu menghitung rasio kompresi 2. Menjelaskan bagaimana data numerik direpresentasikan 3. Menjelaskan representasi teks dan suara 4. Menjelaskan teknik-teknik untuk merepresentasikan citra (gambar) 5. Menjelaskan representasi data berupa audio 4.1 Pendahuluan D alam kehidupan sehari-hari, panca indera kita sering digunakan untuk mendapatkan informasi. Informasi yang ditangkap oleh panca indera tersebut akan diteruskan ke otak untuk diproses atau disimpan. Dengan kata lain, apa yang ditangkap oleh panca indera tersebut merupakan masukan (input) untuk pemrosesan selanjutnya di otak. Agar masukan yang diterima panca indera bisa berguna untuk pemrosesan di otak, maka masukan 32 KO M P U T E R 1 itu harus dinyatakan dalam bentuk tertentu yang bisa dipahami oleh kita. Untuk lebih jelasnya, kita ambil sebuah contoh. Kita diminta untuk memasang jaringan listrik (instalasi listrik) di sebuah rumah. Untuk perencanaan yang matang, kita memerlukan gambaran tentang rumah tersebut. Dalam hal ini, kita akan sulit membuat desain instalasi listrik di rumah dengan membayangkan rumah tersebut. Oleh karena itu, kita membutuhkan denah rumah untuk membantu perencanaan instalasi listrik. Denah rumah pada dasarnya merupakan representasi dari rumah tersebut. Denah rumah mudah dipahami oleh otak kita. Selanjutnya, otak kita dapat menentukan desain instalasi listrik yang tepat berdasarkan denah rumah tersebut. Hal yang sama berlaku pada komputer. Masukan sebuah komputer cukup beragam. Walaupun demikian, semua bentuk masukan tersebut harus dapat diproses oleh komputer. Oleh karena itu, semua masukan komputer perlu direpresentasikan dalam bentuk tertentu. Pada bab ini, kita akan mempelajari representasi data pada komputer. 4.2 Data dan Representasi Biner Komputer merupakan peralatan elektronik yang dapat menyimpan dan memproses data. Komputer membutuhkan data sebagai masukan (input). Data tersebut dapat berupa teks, bilangan, gambar, suara (audio) ataupun video. Agar data yang berbeda-beda ini dapat disimpan atau diproses oleh komputer, data dinyatakan dalam format tertentu yang dipahami oleh komputer. Dalam hal ini, teks, gambar, suara (audio) dan video disimpan dan diproses komputer dalam bentuk digit-digit biner. Bilangan biner merupakan bilangan yang memiliki basis 2 dan terdiri dari 0 dan 1. Dengan kata lain, komputer merepresentasikan teks, suara, gambar dan lain-lain dalam bentuk kombinasi 0 dan 1. Sistem pengkodean biner yang dipakai komputer ini tidak terlepas dari fakta bahwa computer merupakan sebuah alat elektronik. Komputer menggunakan arus listrik untuk pemrosesan dan penyimpanan data. Arus listrik ini mengalir melalui sejumlah switch (saklar) yang hanya memiliki dua keadaan yaitu on (tersambung) dan off (putus). Komputer menggunakan kondisi switch ini untuk merepresentasikan data. Dalam hal ini, on = 1 dan off =0. Data mempunyai ukuran. Bit merupakan satuan terkecil dari ukuran data. Kata “bit” berasal dari dua kata yaitu binary digit. Satu bit terdiri dari 1 atau 0. Satu bit dapat digunakan untuk merepresentasikan 2 hal berbeda. Untuk memudahkan pemahaman, kita ambil sebuah contoh. Kita ingin mengelompokkan ikan berdasarkan kemampuan mengeluarkan suara. Dalam hal ini, ikan yang bisa menghasilkan suara direpresentasikan dengan bit 1 sedangkan ikan yang tidak bisa bersuara direpresentasikan dengan bit 0. 33 KO M P U T E R 1 Kumpulan 4 bit sering disebut nibble. Sistem bilangan heksadesimal dan BCD (binary coded decimal) menggunakan 4 bit untuk merepresentasikan bilangan. Sistem bilangan heksadesimal menggunakan 16 digit yaitu 0, 1, 2, …, 9, A, B, …, dan F sedangkan sistem bilangan BCD menggunakan 10 digit berbeda yaitu 0, 1, …, dan 9. Komputer biasanya menggunakan satuan byte untuk menyatakan ukuran data. Satu byte terdiri dari 8 bit. Contoh data satu byte adalah 11010101. Ukuran data sering dikaitkan dengan kapasitas media penyimpanan, kecepatan pengiriman data, dan lain-lain. Media penyimpanan memiliki kemampuan terbatas dalam menyimpan data sementara ukuran data bisa tidak terbatas. Data yang berukuran besar bisa menimbulkan masalah dalam penyimpanannya. Meskipun teknologi saat ini dapat menghasilkan media penyimpanan dengan kapasitas penyimpanan yang besar, pengiriman data yang besar melalui jaringan komputer atau internet tetap menjadi masalah. Hal ini disebabkan adanya batasan bandwidth (lebar pita) yang dimiliki. Dalam hal ini, setiap jaringan komputer atau layanan internet memili batasan jumlah bit atau byte data yang dapat dikirim dari satu titik ke titik lain dalam rentang waktu tertentu. Untuk kecepatan jaringan yang sama, semakin besar data yang dikirimkan semakin lama waktu yang dibutuhkan agar data itu sampai di tujuan. Oleh karena itu, ukuran data harus diperkecil melalui teknik kompresi data (pemampatan data). Besarnya kompresi data dinyatakan dalam rasio kompresi. Rasio kompresi diperoleh dengan membagi ukuran data yang dimampatkan dengan ukuran data awalnya. Rasio kompresi ini memiliki nilai antara 0 dan 1. Semakin kecil nilai dari rasio kompresi (semakin mendekati 0), semakin banyak data yang dimampatkan. 4.3 Representasi Data Numerik Data numerik termasuk data yang sering diproses komputer. Data numerik dapat berupa bilangan bulat, bilangan real dan lain-lain. Data numerik ini harus direpresentasikan dalam kode-kode biner seperti yang dijelaskan pada bagian 5.2. Bilangan bulat positif dapat dengan mudah direpresentasikan dengan kode-kode biner. Hal ini disebabkan bilangan bulat positif dapat dengan mudah diubah dalam bentuk bilangan biner. Yang menjadi permasalahan adalah merepresentasikan bilangan bulat negative dalam bentuk kode-kode biner. 4.4 Representasi Teks Teks yang diproses dan disimpan komputer dapat berupa kalimat, paragraf atau bentuk tulisan tertentu (laporan, makalah, notulensi, dan lain-lain). Teks terdiri dari karakter-karakter yang mempunyai 34 KO M P U T E R 1 representasi tertentu yang dipahami komputer. Karena komputer menggunakan sistem pengkodean biner, setiap karakter direpresentasikan dengan pola bit (bit pattern) tertentu. Dengan demikian, pola bit bersifat unik (hanya merepresentasikan satu karakter). Dalam merepresentasikan semua huruf, angka, tanda baca dan spasi, komputer harus menggunakan skema yang sama untuk semua hal tersebut. Skema ini berupa set karakter yang pada dasarnya merupakan daftar yang terdiri dari karakter-karakter dan kode-kode untuk merepresentasikan karakter-karakter tersebut. Set karakter yang biasa digunakan di antaranya ASCII dan Unicode. ASCII (American Standard Code for Information Interchange) merupakan set karakter yang menggunakan 7 bit untuk setiap karakter yang direpresentasikannya. Dalam ASCII terdapat sebuah check bit yang berfungsi untuk memastikan apakah data terkirim tanpa ada eror (kesalahan) atau tidak. ASCII memiliki 128 buah kombinasi 7 bit sehingga ASCII dapat merepresentasikan 128 karakter yang berbeda. Selain ASCII yang menggunakan 7 bit untuk merepresentasikan sebuah karakter, adapula ASCII yang menggunakan 8 bit yaitu Latin-1 Extended ASCII atau ASCII-8. Latin-1 Extended ASCII dapat merepresentasikan 256 karakter yang berbeda. Di bawah ini table ASCII untuk sejumlah karakter. No Karakter Nomor ASCII Pola Bit 1 ! 032 00100000 2 $ 036 00100100 3 + 043 00101011 4 0 048 00110000 5 1 049 00110001 6 = 061 00111101 7 ? 063 00111111 8 @ 064 01000000 9 A 065 01000001 10 B 066 01000010 11 \ 092 01011100 12 ^ 094 01011110 13 a 097 01100001 14 b 098 01100010 15 c 099 01100011 16 z 122 01111010 17 { 123 01111011 18 | 124 01111100 . 35 KO M P U T E R 1 19 } 125 01111101 20 ~ 126 01111110 Tabel 5.1 Tabel ASCII Berdasarkan table di atas, jika kita mengetikkan huruf “z” pada keyboard, komputer akan mengubahnya menjadi 01111010 dan menyimpannya ke dalam memori. Meskipun Latin-1 Extended ASCII bisa merepresentasikan 256 karakter yang berbeda, set karakter ini bisa dikatakan terbatas kemampuannya karena belum mampu merepresentasikan karakter-karakter yang ada di bahasa tertentu misalnya bahasa Jerman, bahasa Jepang, dan lain-lain. Selain itu, simbol-simbol ilmiah belum banyak terepresentasikan oleh Latin-1 Extended ASCII. Oleh karena itu, perlu ada set karakter yang bisa memenuhi kebutuhan-kebutuhan tersebut. Hal ini bisa dipecahkan dengan set karakter Unicode. Unicode menggunakan 16 bit untuk merepresentasikan sebuah karakter dan bisa merepresentasikan 65.536 karakter. 4.5 Representasi Citra Secara garis besar, citra dapat dibagi menjadi dua macam yaitu citra analog dan citra digital. Citra analog diperoleh melalui proses perekaman citra dengan menggunakan peralatan yang bersifat analog misalnya kamera analog. Secara matematis, citra analog dinyatakan sebagai integral dari intensitas cahaya yang terekam dalam waktu tertentu. Citra analog bisa diubah menjadi citra digital dengan cara digitalisasi. Proses digitalisasi bisa dilakukan dengan menggunakan peralatan yang bisa merekam citra analog untuk kemudian mengubahnya menjadi array piksel citra digital. Contoh peralatan untuk keperluan seperti ini adalah scanner. Citra digital pun dapat diperoleh secara langsung dengan menggunakan sensor seperti CMOS sensor ataupun CCD. Kamera digital saat ini menggunakan kedua jenis sensir tersebut. Citra digital yang berhasil direkam pada dasarnya merupakan sekumpulan piksel-piksel yang tersusun dalam suatu array. Piksel-piksel ini memiliki rentang nilai 0 sampai 255. Nilai-nilai ini dinamakan derajat keabuan. Derajat keabuan untuk setiap piksel citra digital diperoleh dari proses digitalisasi yang terdiri dari sampling, kuantisasi dan coding (pengkodean). Untuk citra monokrom, hanya ada satu array yang setiap pikselnya memiliki derajat keabuan. Secara matematis, derajat keabuan untuk setiap piksel ini dinyatakan dalam sebuah matriks. Berbeda dengan citra monokrom, citra digital berwarna dinyatakan dalam 3 buah matriks, Masing-masing 36 KO M P U T E R 1 matriks menyatakan derajat keabuan tiap piksel untuk komponen R (red), G, (green) dan B (blue) dari setiap warna yang terekan pada setiap piksel pada citra digital. 4.6 Representasi Audio Suara yang sering kita dengar pada dasarnya gelombang yang merambat dari sumbernya. Salah satu sumber suara tersebut adalah alat elektronik. Alat eletronik menghasilkan sinyal elektrik yang pada dasarnya merupakan representasi dari gelombang suara yang dihasilkan. Sinyal elektrik ini memiliki perubahan tegangan yang sebanding dengan perubahan amplitudo pada gelombang suara. Perubahan tegangan pada sinyal elektrik ini bersifat kontinyu. Dengan demikian, sinyal suara yang dihasilkan alat elektronik bersifat analog. Sinyal analog ini harus diubah bentuk jika suara tersebut akan diproses dan disimpan komputer. Hal ini disebabkan komputer harus memproses dan meyimpan suara dalam bentuk byte-byte data. Untuk mencapai tujuan ini, sinyal analog harus diubah ke dalam bentuk digital melalui proses yang disebut ADC (analog to digital conversion). 5 Bab Sistem Bilangan Pada bab ini, siswa diharapkan dapat: 1. Menghitung bilangan-bilangan biner dalam bentuk biner tak bertanda 2. Menjelaskan bagaimana mengubah bilangan biner ke bilangan desimal 3. Menjelaskan bagaimana mengubah bilangan desimal ke bilangan biner 4. Menjelaskan bilangan heksadesimal 5. Menjelaskan bilangan BCD 37 KO M P U T E R 1 5.1 Pendahuluan K omputer menggunakan transistor dalam “mengingat” bilangan. Transistor adalah sebuah piranti kecil yang bertindak seperti saklar yang hanya memiliki dua keadaan yaitu on (hidup) dan off (mati). Dengan demikian, sebuah transistor hanya dapat merepresentasikan sebuah “1” dan “0”. Bilangan yang besar dapat dibentuk dengan kombinasi 0 dan yang semakin banyak. Untuk membuat kombinasi tersebut, transistor-transistor digabungkan. Komputer haruslah mempunyai kemampuan untuk menangani berbagai macam bilangan. Bilangan besar pun harus dapat ditampilkan dan digunakan oleh komputer. Di sisi lain, komputer memiliki transistor dalam jumlah terbatas. Dalam hal in perlu pengubahan suatu bilangan ke bentuk bilangan lain demi kemudahan bagi mausia. Pada bab ini, kita akan mempelajari sejumlah sistem bilangan. 5.2 Menghitung dalam Biner Tak Bertanda Dalam kehidupan sehari-hari, kita menggunakan sistem bilangan desimal. Dalam sistem bilangan ini, nilai tempat terdiri dari satuan, puluhan, ratusan, ribuan, dan seterusnya. Jika kita menulis sejumlah bilangan secara berurutan yang nilainya semakin besar maka kita mendapatkan bahwa saat bilangan bertambah besar, digit angka bertambah ke sebelah kiri. Hal yang sama berlaku pada sistem bilangan biner. Hanya saja, pada sistem bilangan biner kita menggunakan 0 dan 1. Komputer menggunakan bilangan biner tak bertanda untuk menyatakan sebuah nilai numerik (misalnya 14). Bilangan biner tak bertanda merupakan bentuk paling sederhana dalam menyatakan sebuah angka dalam bit-bit. Dalam sistem bilangan biner, kita bisa menghitung ataupun menyatakan bilangan dalam sistem desimal dengan menggunakan sejumlah bit . Semakin banyak bit yang digunakan maka semakin banyak bilangan dalam sistem desimal yang dapat dinyatakan dalam bentuk bilangan biner. Sebagai contoh, kita akan nyatakan bilangan 0 sampai 7 dalam bentuk 3 bit bilangan biner tak bertanda (perhatikan tabel 5.1). Bilangan desimal Bilangan biner tak bertanda 38 KO M P U T E R 1 0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111 Tabel 5.1 Bilangan biner 3 bit Berdasarkan tabel di atas, 3 bit bilangan biner hanya mampu menyatakan bilangan desimal sampai bilangan 7. Untuk memperbanyak bilangan yang dapat dinyatakan dalam sistem bilangan biner, kita bisa menggunakan 4 bit sebagaimana yang ditunjukkan pada tabel 5.2. Selanjutnya, jumlah bit yang digunakan bisa disesuaikan dengan kebutuhan. Bilangan desimal Bilangan biner tak bertanda 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 Tabel 5.2 Bilangan biner 4 bit Perhatikan tabel 5.1 dan 5.2! Pada tabel 5.1, “7” dinyatakan sebagai 111 (bilangan biner 3 bit) sementara pada tabel 5.2, “7” dinyatakan sebagai 0111 (bilangan biner 4 bit). Nilai 111 dan 0111 adalah 39 KO M P U T E R 1 sama. Yang berbeda adalah jumlah bit yang digunakan untuk menyatakan “7”. Dalam sistem desimal, kita pun bisa menyatakan 7 dengan 07. Kedua bilangan ini (7 dan 07) jelas mempunyai nilai yang sama. Pada bilangan biner terlihat bahwa dengan digunakannya dua simbol (0 dan 1) untuk setiap bit, kita memiliki 2n kombinasi simbol. Dalam hal in n adalah jumlah bit yang digunakan untuk menyatakan bilangan desimal. Sebagai contoh, jika kita ingin menggunakan 5 bit bilangan biner untuk menyatakan bilangan desimal maka akan diperoleh 32 kombinasi 0 dan 1. Semua kombinasi in menyatakan bilangan 0 sampai 31. Pada sistem bilangan biner terdapat isitlah LSB (least significant bit) dan MSB (most significant bit). LSB adalah bit yang terletak paling kanan (bit yang menunjukkan nilai satuan) sedangkan MSB adalah bit yang terletak paling kiri (bit yang menunjukkan pangkat dua tertinggi untuk bilangan tersebut). Untuk memudahkan pemahaman, kita gunakan 1011010 sebagai contoh. Pada 1011010, LSB-nya adalah “1” (terletak paling kiri) dan MSB-nya adalah “0” (terlatak paling kanan). Lalu, mengapa bit paling kiri (yaitu “1”) menunjukkan pangkat dua tertinggi pada 1011010. Kita akan memahaminya di bagian 5.3. Pada bagian selanjutnya (bagian 5.3 dan 5.4), kita pun akan mempelajari cara mengubah bilangan desimal ke bilangan biner tak bertanda, begitu juga sebaliknya. Pada sistem bilangan biner, terdapat pula istilah-istilah sebagai berikut: a. Nibble Nibble adalah bilangan biner yang terdiri dari 4 bit. Contoh: 1011 2 (angka 2 di sini menunjukkan basis bilangan) b. Byte Byte adalah bilangan biner yang terdiri dari 8 bit (2 nibble). Contoh: 101100112 c. Word Word adalah bilangan biner yang terdiri dari 16 bit. Contoh: 10001010101100112 d. Double word Double word adalah bilangan biner yang terdiri dari 32 bit. Contoh: 101100111011001110001010101100112 5.3 Pengubahan Bilangan Biner ke Bilangan Desimal Pada bilangan biner, setiap letak bit berkaitan dengan pangkat 2 yang besarnya meningkat mulai dari letak bit paling kanan ke letak bit paling kiri. Untuk lebih jelasnya, kita ambil bilangan 10110101 sebagai contoh. Letak bit 1 yang berada di paling kanan (LSB) merupakan letak bit ke-0 sementara letak bit 1 yang berada di paling kiri (MSB) merupakan letak bit ke-7. Dengan demikian, bilangan pangkat 2 untuk LSB pada 10110101 adalah 20 sedangkan bilangan pangkat 2 untuk MSB-nya adalah 27. 40 KO M P U T E R 1 Letak bit ke- Pangkat 2 terkait Nilai desimal dari bilangan pangkat 2 0 0 1 1 2 2 4 3 8 4 16 5 32 6 64 7 128 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 Tabel 5.3 Nilai-nilai pada setiap letak bit untuk bilangan biner 8 bit Bagaimanakah cara mengubah bilangan biner ke desimal? Kita gunakan 10110101 sebagai contoh. Sebelum mengubah bilangan biner ke bilangan desimal, perhatikan tabel yang ada di bawah ini. Letak bit Nilai biner 101101012 = = 7 1 6 0 5 1 4 1 3 0 2 1 1 0 0 1 (1x27) + (0x26) + (1x25) + (1x24) + (0x23) + (1x22) + (0x21) + (1x20) 128 + 32 + 16 + 4 + 1 = 181 Selanjutnya, untuk mempercepat pengubahan bilangan biner ke bilangan desimal, tandai setiap letak bit dari 1. Pada contoh di atas, kita cukup menandai letak bit ke-0, ke-2, ke-4, ke-5, dan ke-7. Kemudian jumlahkan semua pangkat 2 yang berkaitan dengan letak bit tadi (20, 22, 24, 25 dan 27). 5.4 Pengubahan Bilangan Desimal ke Bilangan Biner Untuk mengubah bilangan desimal ke bilangan biner, kita bisa memanfaatkan bilangan pangkat yang berkaitan dengan letak bit. Untuk bilangan biner 8 bit, perhatikan kembali tabel 5.3. Pada pengubahan bilangan desimal ke bilangan biner, pertama-tama kita cari nilai desimal dari suatu bilangan pangkat dua yang dekat dengan bilangan desimal yang akan kita ubah. Dalam hal ini bilangan pangkat dua tersebut harus memiliki nilai desimal yang lebih kecil bilangan desimal yang akan diubah. Sebagai contoh, jika bilangan desimal yang akan diubah itu adalah 70 atau 120, maka nilai desimal dari pangkat dua terdekat adalah 64 (26). 41 KO M P U T E R 1 Setelah pangkat dua terdekat diperoleh, kurangkan bilangan desimal yang akan diubah tersebut dengan nilai desimal dari bilangan pangkat dua tadi. Hasil pengurangan ini akan mengalami proses yang sama yaitu dikurangi bilangan pangkat dua terdekat. Proses ini terus berlanjut sampai hasil pengurangan bernilai 0. Untuk lebih jelasnya, perhatikan contoh berikut. Misal, kita akan mengubah bilangan desimal 120 ke dalam bentuk bilangan biner. Pertama-tama, kita periksa terlebih dahulu berapa bit yang diperlukan untuk menyatakan bilangan desimal 120 ke dalam bentuk bilangan biner. Apakah 8 bit (1 byte) cukup untuk menyatakan 120 ke dalam bentuk bilangan biner? Nilai terbesar dari bilangan biner tak bertanda yang dinyatakan dalam n bit adalah 2n-1. Jika kita menggunakan 8 bit, maka nilai terbesar dari bilangan biner 8 bit ini adalah 2 8-1 = 255. Karena 120 masih lebih kecil dari 255, maka 8 bit bilangan biner bisa digunakan untuk menyatakan bilangan desimal 120. Untuk mengubah 120 ke dalam bentuk bilangan biner 8 bit, kita harus mencari bilangan pangkat dua terdekat. Dalam hal in, 26 = 64 adalah bilangan pangkat dua terdekat dari 120. Dengan demikian, bit “1” bisa kita tuliskan di letak bit ke-6 seperti yang ditampilkan di bawah ini. Letak bit 7 6 1 5 4 3 2 1 0 Nilai desimal baru yang belum diubah adalah 120-64 = 56. Proses yang sama seperti di atas kita lakukan kembali. Bilangan pangkat dua terdekat dari 56 adalah 25 = 32. Dengan demikian, kita peroleh: Letak bit 7 6 1 5 1 4 3 2 1 0 Nilai desimal baru yang belum diubah adalah 56 – 32 = 24. Bilangan pangkat dua terdekat dari 24 adalah 24 = 16. Kita bisa menuliskan bit “1” di letak bit ke-4 seperti yang terlihat di bawah ini. Letak bit 7 6 1 5 1 4 1 3 2 1 0 Nilai desimal baru yang diperoleh adalah 24 – 16 = 8. Bilangan pangkat dua yang terdekat dari 8 adalah 23 = 8. Dengan demikian, kita tuliskan bit “1” di letak bit ke 3 seperti yang ditunjukkan table di bawah in. Letak bit 7 6 5 4 42 3 2 1 0 KO M P U T E R 1 1 1 1 1 Sekarang, kita memiliki nilai desimal baru yaitu 8 – 8 = 0. Karena nilai desimal baru sudah mencapai 0, maka pengubahan bilangan desimal 120 ke dalam bentuk bilangan biner dikatakan selesai. Berdasarkan perhitungan sebelumnya, bit “1” terletak pada letak bit ke-6, ke-5, ke-4 dan ke-3. Ini berarti bahwa pada letak bit ke-7, ke-2, ke-1 dan ke-0 terdapat bit “0”. Dengan demikian, 120 = 011110002 5.5 Bilangan Heksadesimal Bilangan biner menimbulkan kesulitan-kesulitan bagi manusia. Kesulitan pertama adalah saat membandingkan 2 bilangan dan menentukan secara cepat bilangan mana yang lebih besar di antara keduanya. Misal, kita memiliki 110110102 dan 110101002. Menentukan mana yang lebih besar di antara keduanya tidaklah secepat menentukan mana yang lebih besar antara 218 dengan 212. Masalah akan semakin terlihat ketika jumlah bit yang digunakan dalam bilangan biner semakin banyak. Selain itu, penulisan bilangan biner rentan terhadap kesalahan. Untuk memudahkan manusia, penulisan bilangan biner bisa dipermudah. Hal ini bisa terjadi dengan menggunakan bilangan heksadesimal. Sistem bilangan heksadesimal disebut juga sistem bilangan basis 16. Ide awalnya adalah dengan memecah bilangan biner menjadi sejumlah nibble. Pemecahan ini dimulai dari 4 bit paling kanan (LSB). Sebagai contoh, kita dapat memecah 110101010010110110 menjadi 11 0101 0100 1011 0110. Kita perlu menyatakan setiap nibble yang mungkin dalam sebuah simbol yang ringkas. Karena nibble terdiri dari 4 bit, jumlah kombinasi bit yang ada mencapai 24 = 16. Seperti halnya bilangan desimal, bilangan heksadesimal pun memiliki bilangan 0 sampai 9. Akan tetapi, jika hanya menggunakan 10 bilangan ini, masih ada 6 buah nibble yang belum dinyatakan dalam simbol tertentu. Ingat, ada 16 buah kombinasi nibble yang harus dinyatakan dalam simbol yang lebih ringkas! Keenam nibble tersebut adalah 1010, 1011, 1100, 1101, 1110, dan 1111. Dalam bilangan heksadesimal, keenam nibble in dinyatakan secara berturut-turut sebagai A, B, C, D, E dan F. Untuk lebih paham saat mengubah bilangan biner ke heksadesimal atau sebaliknya, perhatikan tabel berikut. Bilangan biner Bilangan desimal Bilangan Heksadesimal 0000 0 0 0001 1 1 0010 2 2 43 KO M P U T E R 1 0011 3 3 0100 4 4 0101 5 5 0110 6 6 0111 7 7 1000 8 8 1001 9 9 1010 10 A 1011 11 B 1100 12 C 1101 13 D 1110 14 E 1111 15 F Tabel 5.4 Pengubahan bilangan biner ke desimal dan heksadesimal Bagaimanakah cara mengubah bilangan biner ke dalam bentuk bilangan heksadesimal? Untuk memahaminya, kita gunakan 1101010100101101102 sebagai contoh. Pengubahan 1101010100101101102 ke dalam bentuk bilangan heksadesimal dilakukan dengan memecahnya terlebih dahulu ke dalam bentuk nibble yaitu 11 0101 0100 1011 0110. Setelah itu, setiap nibble dinyatakan dalam bentuk heksadesimal (lihat tabel 5.4) sehingga diperoleh 354B616. Proses pengubahan in bisa ditampilkan dalam bentuk sebagai berikut. 11 3 0101 5 110101010010110110 0100 1011 4 B 0110 6 Tabel 5.5 Contoh pengubahan bilangan biner ke bentuk bilangan heksadesimal Dengan cara yang sama, kita pun bisa dengan mudah mengubah bilangan heksadesimal ke dalam bentuk biner. Misal, kita ingin menyatakan E52F8 dalam bentuk bilangan biner. Setiap digit pada bilangan E52F8 diubah ke dalam bentuk nibble (jika belum bisa cepat dalam mengubahnya, gunakan tabel 5.4 sebagai alat bantu!). Untuk memudahkan pemahaman, E52F8 E 1110 5 0101 2 0010 F 1111 44 8 1000 KO M P U T E R 1 Tabel 5.6 Contoh pengubahan bilangan heksadesimal ke bentuk bilangan biner Dari tabel di atas, diperoleh bahwa E52F8 16 = 111001010010111110002. Sistem bilangan heksadesimal in tidak dipakai oleh komputer. Penggunaannya didasari perlunya sistem bilangan yang lebih memudahkan dibanding sistem bilangan biner. 5.6 Sistem Bilangan BCD Pada sistem bilangan BCD (binary coded decimal), setiap digit desimal dinyatakan sebagai nibble. Dengan demikian, pada BCD hanya ada 10 macam kombinasi 0 dan 1. Bilangan BCD untuk setiap digit desimal diperlihatkan pada table 5.5. Bilangan desimal Bilangan BCD 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 Tabel 5.7 Bilangan BCD Untuk memperkuat pemahaman, kita ambil 2 buah contoh soal. 1. Tentukan bilangan BCD dari bilangan desimal 4528! 2. Tentukan bilangan desimal dari bilangan BCD 1000 0011 0010 0111! Jawab: 1. 4 5 2 8 0100 0101 0010 1000 Jadi, bilangan BCD dari bilangan desimal 4528 adalah 0100 0101 0010 1000. 45 KO M P U T E R 1 2. 1000 0011 0010 0111 8 3 2 7 3. Jadi, bilangan desimal dari bilangan BCD 1000 0011 0010 0111 adalah 8327. 6 Bab Aritmetika Komputer Pada bab ini, siswa diharapkan dapat: 1. Memahami penjumlahan bilangan biner 2. Melakukan operasi pengurangan dalam bilangan biner 3. Menjelaskan cara menyatakan bilangan biner bertanda 4. Melakukan operasi penjumlahan pada bilangan heksadesimal 6.1 Pendahuluan 46 KO M P U T E R P 1 ada bab sebelumnya, kita sudah mempelajari sistem bilangan. Pada bab ini, kita akan mempelajari artimetika dasar yang dilakukan komputer, yaitu aritemtika dasar bilangan biner beserta operasi komplemen pada bilangan biner. Aritmetika dasar yang dibahas di sini hanya meliputi penjumlahan dan pengurangan. Selanjutnya, operasi matematika pada bilangan heksadesimal pun akan dibahas. 6.2 Penjumlahan Biner Penjumlahan bilangan biner pada dasarnya sama dengan penjumlahan pada bilangan desimal. Yang membedakan adalah bahwa pada bilangan biner, hanya ada 2 bilangan yaitu 0 dan 1. Dengan demikian, digit terbesar pada hasil penjumlahan haruslah 1. Pada penjumlahan yang ditunjukkan gambar 6.1, hal tersebut terlihat jelas. 0 0 + 0 0 1 + 1 1 0 + 1 Gambar 6.1 Penjumlahan pada bilangan biner Masalah pada penjumlahan biner terjadi ketika hasil penjumlahan tidak lagi 1 atau 0. Pada kasus 1+1, hasi penjumalahannya adalah 2. Desimal 2 ini tidak ada dalam sistem bilangan biner. Hal yang sama pun terjadi pada kasus 1+1+1. Bagaimana mengatasinya? Sebelumnya, kita lihat kasus yang sama yang bisa terjadi pada sistem bilangan desimal. Perhatikan contoh di bawah ini. ¿2 9 5 ¿ 1 ¿ ¿ 47 3 ¿ 6 4 + KO M P U T E R 1 Pada contoh penjumlahan di atas (29 + 35), pertama-tama 9 dijumlahkan dengan 5 lalu 2 dijumlahkan dengan 3. Penjumlahan 9 dan 5 menghasilkan 14 sementara penjumlahan 2 dan 3 menghasilkan 5. Kita tidak pernah menuliskan 514 sebagai hasil penjumlahan 29 dan 35 karena digit terbesar pada bilangan pada sistem bilangan desimal adalah 9. Hal ini jelas berbeda dengan sistem bilangan heksadesimal karena pada sistem bilangan heksadesimal, E (dalam sistem bilangan desimal, E berarti 14) merupakan salah satu digit yang dipakai. Pada penjumlahan 9 dan 5 di atas, kita hanya menuliskan 4 di kolom paling kanan (bernilai tempat satuan). Di sini, 4 merupakan hasil pengurangan 14 dengan 10. Digit 1 pada 14 dijumlahkan dengan bilangan 2 dan 3 yang sama-sama bernilai tempat puluhan. Proses serupa diterapkan pada penjumlahan bilangan biner. Perhatikan penjumlahan berikut. ¿1 ¿ 1 ¿ 1 ¿ + 1 0 ¿ Pada penjumlahan di atas, hasil dari 1+1 adalah 2. Pada sistem bilangan biner, kita tidak mengenal digit 2. Oleh karena itu, kita perlu menuliskannya dalam bentuk dua digit. Pertama-tama kita mengurangkan hasil penjumlahan dengan 2 (pada penjumlahan, kita mengurangkan hasil penjumlahan dnegan 10). Mengapa harus dikurangi dengan 2? Hal ini tak lepas dari kenyataan bahwa posisi bit di sebelah kiri merepresentasikan 21 = 2 (baca kembali tentang letak bit dan pangkat dua sesuai letak bitnya dalam bilangan biner!). Dengan demikian, kita menuliskan 0 (hasil dari 2-2) dan menuliskan 1 di sebelah kiri 0. Untuk memperjelas pemahaman, perhatikan baik-baik contoh di bawah ini. Bisakah Anda mencari tahu mengapa hasil penjumlahannya seperti itu? 1 0 1 1 0 ¿ ¿0 1 1 0 1 1 1 1 1 1 1 0 ¿ 48 + KO M P U T E R 1 6.3 Pengurangan Biner Pengurangan pada sistem bilangan biner pada dasarnya sama dengan pengurangan pada sistem bilangan desimal. Contoh kasus pengurangan pada sistem bilangan biner adalah sebagai berikut. 0 0 0 1 0 1 - 1 1 0 - 1 ¿ 0 1 ¿ ¿ 1 ¿ - - Gambar 6.2 Pengurangan pada bilangan biner Perhatikan contoh paling kanan pada Gambar 6.2 (yaitu 102-12). Mengapa hasilnya sama dengan 1? Pertama-tama kita lakukan pengurangan mulai dari kanan (mulai dari least significant bit). Karena 0-1 menghasilkan nilai negative maka kita pinjam “1” dari kolom sebelah kiri. Dengan demikian, di kolom paling kanan, kita tidak melakukan operasi 0-1 melainkan 1-1. Tapi di sini kita harus hati-hati karena “1” yang dipinjam itu sebenarnya bernilai 21 sedangkan “1” yang lainnya bernilai 20. Jadi, kita peroleh 21-20 = 1. Di kolom paling kiri, “1” berubah menjadi “0” sehingga hasil dari 102 – 12 = 12. Untuk melancarkan pemahaman, kita gunakan contoh lain seperti yang ditunjukkan oleh gambar di bawah ini. 1 0 1 1 0 ¿ ¿1 1 0 0 1 1 1 0 0 1 1 ¿ - Sebelum membahas proses pengurangan 101110 dengan 10011, kita buat letak bit dan nilai dari pangkat dua untuk bilangan di atas. Perhatikan table di bawah ini. Kolom keLetak bit Pangkat 2 6 5 2 49 5 4 24 4 3 2 3 2 2 2 1 2 1 0 20 KO M P U T E R 1 5 Bilangan pertama Bilangan kedua 1 0 1 3 2 1 1 0 1 0 1 1 0 1 Tabel 6.1 Letak bit dan pangkat 2 untuk 101110 dan 10011 Pada contoh di atas (yaitu 101110-10011), perhatikan kolom pertama dan (kolom pertama terletak paling kanan). Pada kolom pertama, kita akan mengurangkan 0 dengan 1. Karena pengurangan ini menghasilkan bilangan negatif, maka kita pinjam “1” dari sebelah kiri (dari kolom kedua). Dengan demikian, operasi pengurangan di kolom pertama tidak lagi 0-1 melainkan 2-1 (ingat, “1” yang dipinjam dari sebelah kiri pada dasarnya 2 1 karena diambil dari letak bit ke-1). Pada kolom kedua, kita tidak lagi mengerjakan “1-1” melainkan “0-1” karena adanya pengambilan tadi. Sama seperti sebelumnya, pada pengerjaan “0-1” di kolom kedua dari kanan (letak bit ke-1), kita meminjam “1” dari sebelah kanan sehingga yang akan kita kerjakan adalah “1-1”. Pada kolom kedua ini, kita akan mengurangkan “1” hasil pinjaman (yang sebenarnya bernilai 23) ini dengan “1” yang sebenarnya bernilai 2 2. Dari sini kita peroleh bahwa “1-1” di kolom kedua pada dasarnya 2 3-22 = 8-4 = 4. Di kolom kedua (letak bit ke-1), bilangan pangkat duanya adalah 22. Dengan demikian, “4” tadi bisa ditulis 1x22. Dalam pengurangan bilangan biner ini, kita hanya menuliskan 1 sebagai hasil dari “1-1”. 6.4 Metode Menyatakan Bilangan Biner Bertanda Pada bagian ini, kita akan mempelajari metode untuk menyatakan bilangan biner bertanda. Bilangan biner bertanda bisa dinyatakan dengan menggunakan sign and magnitude, komplemen 1 dan komplemen 2. 6.4.1 Sign and Magnitude Pada metode ini, sebuah bit digunakan untuk menyatakan tanda bilangan (positif atau negatif). Bit yang digunakan untuk keperluan ini adalah MSB (bit paling kiri). MSB diset menjadi 1 untuk menyatakan bilangan negative dan diset menjadi 0 untuk menyatakan bilangan positif. Jika kita menggunakan 8 bit (1 byte) untuk menyatakan suatu bilangan ke dalam bilangan biner, maka hanya ada 7 bit tersisa yang dapat digunakan untuk menyatakan nilai mutlak (magnitude) dari sebuah bilangan. Pada metode ini, 0 dinyatakan dengan dua cara yaitu dengan 00000000 dan 10000000. Representasi bilangan biner bertanda dengan metode sign and magnitude ditampilkan pada tabel 6.2. 50 KO M P U T E R 1 Nilai desimal (tak Bilangan biner Nilai desimal (bertanda) 00000000 +0 0 00000001 1 1 00000010 2 2 ... ... ... 01111110 126 126 01111111 127 127 10000000 -0 128 10000001 -1 129 10000010 -2 130 ... ... ... 11111110 -126 254 11111111 -127 255 bertanda) Tabel 6.2. Representasi bilangan biner bertanda menggunakan metode sign and magnitude 6.4.2 Komplemen Satu Komplemen satu merupakan cara lain untuk merepresentasikan bilangan negatif. Dalam operasi matematika bilangan desimal, setiap bilangan memiliki komplemen penjumlahan. Sebagai contoh, -17 adalah komplemen penjumlahan dari 17 karena 17 + (-17) = 0. Pada sistem bilangan biner, komplemen penjumlahan suatu bilangan bisa diperoleh dengan membalik seluruh bit dari bilangan tersebut. Dengan kata lain, bilangan biner negatif bisa diperoleh dari bilangan biner positif dengan membalik bit 0 menjadi bit 1 dan sebaliknya. Pada metode komplemen satu in, bilangan 0 dinyatakan dengan dua cara yaitu dengan : 00000000 (+0) dan 11111111 (-0). Untuk memudahkan pemahaman, perhatikan bilangan biner dari 47 dan komplemennya (yaitu -47) di bawah in. Bilangan biner Komplemen satu 0 1 0 1 51 1 0 0 1 1 0 1 0 1 0 1 0 KO M P U T E R 1 Bukti bahwa 00101111 dan 11010000 komplemen penjumlahan satu sama lain ditunjukkan melalui penjumlahan sebagai berikut. 0 0 1 0 1 1 1 1 1 1 0 1 0 0 0 0 +¿ 1 1 1 1 1 1 1 1 Penjumlahan 00101111 dan 11010000 ternyata menghasilkan 11111111. Bilangan biner 11111111 merupakan representasi 0 dalam metode komplemen 1. Bilangan-bilangan biner berserta komplemennya yang diperoleh dengan metoda komplemen 1 ditunjukkan oleh tabel 6.3. Bilangan biner Komplemen 1 Nilai desimal tak bertanda 00000000 +0 0 00000001 1 1 ... ... ... 01111101 125 125 01111110 126 126 01111111 127 127 10000000 -127 128 10000001 -126 129 10000010 -125 130 ... ... ... 11111110 -1 254 11111111 -0 255 Tabel 6.3. Representasi bilangan biner bertanda menggunakan metode komplemen 1 6.4.3 Komplemen Dua Pada komplemen dua, komplemen penjumlahan suatu bilangan diperoleh dengan cara melakukan komplemen satu terlebih dahulu pada bilangan tersebut kemudian menambahkan 1 pada hasil komplemen satu tersebut. Misalnya, kita akan mencari komplemen dua dari 00101111 (47). 52 KO M P U T E R 1 Pertama-tama kita cari komplemen satu dari 00101111. Komplemen satu dari 00101111 adalah 11010000. Selanjutnya kita tambahkan 1 pada 11010000: 1 1 0 1 0 0 0 0 ¿ 1 1 1 0 1 0 0 0 1 +¿ Berdasarkan perhitungan di atas, komplemen dua dari 00101111 adalah 11010001. Tabel 6.4 menunjukkan representasi bilangan biner bertanda dengan menggunakan komplemen 2 Bilangan biner Komplemen 2 Nilai desimal tak bertanda 00000000 0 0 00000001 1 1 ... ... ... 01111110 126 126 01111111 127 127 10000000 -128 128 10000001 -127 129 10000010 -126 130 ... ... ... 11111110 -2 254 11111111 -1 255 00000000 0 0 Tabel 6.4. Representasi bilangan biner bertanda menggunakan metode komplemen dua 6.5 Penjumlahan Bilangan Heksadesimal Penjumlahan pada bilangan heksadesimal (bilangan basis 16) pada dasarnya sama dengan penjumlahan pada bilangna desimal. Hanya saja, pada bilangan heksadesimal terdapat sejumlah digit 53 KO M P U T E R 1 tambahan. Sebelum membahas penjumlahan, perhatikan dan pahami tabel 5.4 (buka kembali bab 5). Pada bagian 6.5 ini, kita akan menggunakan subscript di sebelah kanan bilangan untuk menunjukkan basis bilangan tersebut. Jika subscript pada suatu bilangan itu 10 maka bilangan tersebut adalah bilangan desimal. Jadi, 010, 110, …, 910 adalah bilangan desimal. Jika subscript yang digunakan adalah 16 maka bilangan tersebut adalah bilangan heksadesimal (bilangan basis 16). Jadi0 16, 116, …, 916, A16, B16, …, F16 adalah bilangna heksadesimal. Di bawah ini contoh penjumlahan pada bilangan heksadesimal: 916 + 416 = 910 + 410 = 1310 = D16 Pada penjumlahan heksadesimal, jika hasil penjumlahan lebih dari F 16 (yang nilainya sama dengan 1510) maka hasil penjumlahan tersebut dikurangi dengan 1610. Dengan demikian, kita memiliki 2 digit hasil penjumlahan yaitu 1 dan hasil pengurangan tadi (hasil penjumlahan - 16 10). Untuk memudahkan pemahaman, kita ambil sebuah contoh. Misal, kita akan menjumlahkan 4B1F 16 dan 92D316. Proses penjumlahan ini adalah sebegai berikut. ¿ ¿ 1 ¿ 1 ¿ ¿ 7 B 1 F A 2 D 3 1 1 D ¿ F 2 +¿ Pada penjumlahan F16 dan 316, hasilnya adalah 18. Karena 18 lebih dari 16 maka hasil penjumlahan ini (yaitu 18) harus dikurangi 1610 (yang nilainya sama dengan1016). Dengan demikian, kita simpan 2 di kolom paling kanan dan menyimpan 1 untuk ditambahkan dengan bilangan-bilangan di kolom kedua dari kiri. Selanjutnya, kita menjumlahkan 3 bilangan yaitu 1, 1, dan D. Hasil penjumlahan ini adalah 1510. Dengan demikian, kita menuliskan F sebagai hasil penjumlahannya. Cara ini dilakukan sampai semua digit selesai ditambahkan dan 11DF2 diperoleh sebagai hasil. Penjumlahan 7B1F dan A2D3. 54 KO M P U T E R 1 7 Bab Algoritma dan Pemrograman Pada bab ini, siswa diharapkan dapat: 1. Memahami kompresi data dan mampu menghitung rasio kompresi 2. Menjelaskan bagaimana data numerik direpresentasikan 3. Menjelaskan representasi teks dan suara 55 4. Menjelaskan teknik-teknik untuk merepresentasikan citra (gambar) 5. Menjelaskan kompresi pada video KO M P U T E R 1 7.1 Pendahuluan S alah satu bentuk perangkat lunak adalah bahasa pemrograman. Bahasa pemrograman digunakan sebagai alat komunikasi antara pengguna dengan komputer. Dengan adanya bahasa pemrograman, komputer bisa memahami perintah manusia. Dalam hal ini, pengguna membuat kode-kode pemrograman untuk menyelesaikan masalah. Sebuah program yang baik lahir dari suatu alur yang baik pada penyelesaian masalahnya. Dengan demikian, sebelum membuat program, kita membuat langkah-langkah penyelesaian masalahnya terlebih dahulu. Dengan kata lain, kita membuat algoritmanya terlebih dahulu. Pada bab ini kita akan mempelajari tentang bahasa pemrograman, algoritma dan pemrograman. 7.2 Bahasa Pemrograman Program didefinisikan sebagai sekumpulan instruksi untuk menyelesaikan suatu masalah. Seorang pengguna membuat program dengan menggunakan suatu bahasa pemrograman yang tersedia. Bahasa pemrograman merupakan bahasa yang dipahami komputer dan digunakan untuk menulis program komputer. Bahasa pemrograman dibagi menjadi 3 tingkatan yaitu: a. b. Low level language Bahasa perograman ini merupakan bahasa pemrograman generasi pertama. Instruksi dalam bahasa ini menggunakan bahasa mesin sehingga sulit dipahami. Middle level language Bahasa pemrograman jenis ini lebih mudah dimengerti dibanding low level language. Bahasa ini dapat dimengerti oleh selain pembuatnya karena sudah menggunakan bahasa yang mendekati bahasa sehari-hari. Hanya saja, kesulitan dalam pemrograman ini bisa terjadi 56 KO M P U T E R 1 karena instruksinya yang banyak mengandung singkatan. Contoh bahasa pemrograman jenis c. ini adalah assembler, ForTran (Formula Translator) High level language Bahasa pemrograman ini merupakan bahasa tingkat tinggi dan dapat dengan mudah dipahami karena bahasanya sudah mendekat bahasa sehari-hari. Contoh bahasa pemrograman ini adalah Java, Pascal, dan lain-lain. Bahasa pemrograman memiliki sejumlah perintah-perintah yang memiliki arti, aturan, struktur tertentu, dan lain-lain. Ketika pengguna menjalankan program yang dibuatnya, komputer menerjemahkan baris-baris perintah atau kode-kode pemrograman yang dibuat, mengeksekusinya dan memberikan keluaran kepada pengguna. Secara sederhana, pemrograman meliputi dua kegiatan yaitu pembuatan kode-kode pemrograman atau baris-baris instruksi dengan menggunakan suatu bahasa pemrograman dan pengujian program yang dibuat. Pengujian ini bisa meliputi mencari atau memeriksa bugs / error (kesalahan), memeriksa keluaran (apakah sesuai dengan yang diharapkan), atau memeriksa waktu eksekusi dan performa metode yang sudah diterjemahkan ke dalam bahasa pemrograman. Pada dasarnya aktivitas pemrograman tidak terbatas pada dua kegiatan yang disebutkan di atas. Kegiatan pemrograman meliputi: a. Analisis kebutuhan b. Perencanaan c. Perancangan d. Implementasi (pelaksanaan atau perwujudan) yang di dalamnya terdapat kegiatan pembuatan program dan pengujiannya Program yang kita tulis harus diterjemahkan oleh komputer. Penerjemahan ini membutuhkan compiler atau interpreter. Compiler merupakan suatu program yang berfungsi menerjemahkan kode-kode pemrograman yang dibuat ke dalam bahasa objek secara keseluruhan. Sama halnya dengan compiler, interpreter pun merupakan suatu program yang menerjemahkan kode-kodep pemrograman tetapi interpreter menganalisis dan mengeksekusi setiap baris program tanpa melihat program secara keseluruhan. Pada saat membuat suatu program yang dapat dieksekusi oleh komputer, penggunaan compiler menyebabkan waktu yang dibutuhkan lebih banyak dibanding jika menggunaan interpreter. Hal ini disebabkan interpreter tidak mengkompilasi program sehingga eksekusi dapat dilakukan dengan segera. 57 KO M P U T E R 1 Akan tetapi, program-program yang dihasilkan dari penggunaan compiler dapat berjalan lebih cepat dibandingkan program-program yang dihasilkan oleh interpreter. 7.3 Pemrograman Paradigma pemrograman terdiri dari beberapa macam yaitu: 1. Pemrograman Prosedural Prosedur adalah kunpulan instruksi yang dikerjakan secara berutan. Dengan demikian, pemrograman prosedural merupakan pemrograman yang didasarkan pada urutan-urutan. Dalam pemrograman prosedural, prosedur mana yang sudah dipanggil dan prosedur mana 2. yang sudah diubah harus diingat. Pemrograman Fungsional Fungsi adalah dasar utama sebuah program. Dalam pemrograman fungsional, kita bisa 3. memanggil fungsi dalam program yang dibuat. Pemrograman Terstruktur Pemrograman terstruktur merupakan jenis pemrograman yang lazim dipakai. Pada pemrograman ini, program dibagi menjadi sejumlah prosedur dan fungsi. Program ditulis secara berurutan dan terstruktur. Contoh bahasa pemrograman yang menggunakan 4. paradigm pemrograman terstruktur adalah Pascal dan C. Pemrograman Modular Pemrograman modular adalah pemrograman yang menggunakan modul. Modul adalah kumpulan dari prosedur dan fungsi yang berdiri sendiri. Contoh bahasa pemrograman yang 5. menggunakan paradigm ini adalah ADA dan MODULA-2. Pemrograman Berorientasi Obyek Pemrograman berorientasi objek sering disebut pemrograman yang natural. Pemrograman ini berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan metoda / prosedur yang dapat dimanipulasi. Contoh bahasa pemrograman yang berorientasi objek adalah C++, Java, dan lain-lain. 6. Pemrograman Berorientasi Fungsi Pemrograman ini berfokus pada suatu fungsi tertentu saja. Pemrograman ini sangat tergantung pada tujuan pembuatan bahasa pemrograman. Contoh bahasa pemrograman yang berorientasi fungsi adalah HTML, XML, SQL (Structured Query Language) yang 7. digunakan untuk membuat basis data dan lain-lain. Pemrograman Deklaratif Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma. Contoh bahasa pemrograman deklaratif adalah PROLOG. 58 KO M P U T E R 1 7.4 Dasar Algoritma Algoritma adalah langkah-langkah penyelesaian suatu masalah. Algoritma memiliki sejumlah kriteria. Menurut Donald E. Knuth, keriteria-kriteria itu adalah 1. 2. 3. 4. Adanya masukan (input) Algoritma dapat memiliki satu atau lebih masukan dari luar. Bahkan, algoritma dapat tidak memiliki masukan sama sekali. Adanya keluaran (output) Algoritma harus memiliki minimal satu buah keluaran. Pasti Algoritma memiliki instruksi-instruksi yang jelas dan tidak bermakna ganda. Memiliki batas Algoritma harus memiliki titik berhenti (stopping role). 5. Tepat dan efisien Pada tahap implementasi, algoritma harus dapat dijalankan dan berjalan efektif. Contoh instruksi yang tidak efektif adalah A = A + 0 atau A = A * 1. Algoritma yang baik memiliki ciri-ciri sebagai berikut: a. Sesuai dengan kebutuhan dan tujuan. b. Mudah dikembangkan lebih lanjut di masa yang akan datang. c. Tidak memiliki kesalahan baik kesalahan syntax maupun kesalahan logika. d. Langkah-langkah penyelesaian masalah tertulis secara sederhana dan penyelesaian masalah berdasarkan langkah-langkah tersebut membutuhkan waktu yang dapat diterima. e. Langkah-langkah penyelesaian masalah membutuhkan sumber daya yang kecil baik itu memori maupun media penyimpanan (efisien). f. Terdokumentasi dengan baik sehingga memudahkan untuk pengubahan dan pengembangan lebih lanjut. g. Memiliki makna tunggal dan jelas (tidak menimbulkan kerancuan) 7.5 Penulisan Algoritma Penulisan algoritma memiliki aturan-aturan. Secara garis besar, sebuah algoritman ditulis menjadi 3 bagian yaitu: a. Kepala b. Deklarasi c. Deskripsi 59 KO M P U T E R 1 Secara garis besar, struktur dasar algoritma terdiri dari: a. Urutan (sequence) Urutan terdiri dari satu atau lebih instruksi. Dalam hal ini, setiap instruksi dikerjakan secara berurutan berdasarkan urutan penulisannya. b. Pengulangan (repetition) Dalam pengulangan, instruksi dikerjakan secara berulang berdasarkan suatu syarat tertentu atau sampai kondisi tertentu dicapai. c. Pemilihan (selection) Dalam pemilihan, suatu instruksi dieksekusi jika mencapai suatu kondisi tertentu. Pemilihan ini biasanya menggunakan perintah if, else dan then. 8 Bab Komunikasi Data Pada bab ini, siswa diharapkan dapat: 1. Memahami konsep komunikasi data 2. Menjelaskan perbedaan sinyal analog dan digital 3. Menjelaskan mode-mode transmisi data 4. Menjelaskan efek bandwidth pada sinyal digital 60 5. Menjelaskan teknik pengkodean data 6. Menjelaskan jenis-jenis multiplexing KO M P U T E R 1 8.1 Pendahuluan D i masa sekarang, penggunaan komputer semakin luas. Tantangan yang muncul melahirkan kebutuhan akan adanya komputer-komputer yang saling terhubung satu sama lain. Pada bab in akan dibahas tentang manfaat jaringan komputer, konektivitas, kategori dan topologi jaringan, performa jaringan, dan lain-lain. Pemahaman tentang jaringan komputer membutuhkan pemahaman tentang komunikasi data. Oleh karena itu, pada bab ini sistem konsep dan sistem komunikasi data akan dibahas sebelum pembahasan tentang jaringan komputer dilakukan. 8.2 Dasar Komunikasi Data Komunikasi data adalah pertukaran data atau informasi antara dua peralatan melalui media tertentu. Pertukaran data ini dapat terjadi melalui jaringan publik (public network) maupun jaringan pribadi (private network). Jaringan publik ini dapat berupa jaringan telepon, data atau yang lainnya. Dalam komunikasi data terdapat dua hal penting yaitu pengiriman data dari satu titik ke titik lainnya dan pengolahan data dengan bantuan piranti tertentu. Komunikasi data melibatkan sejumlah komponen yaitu: a. Sumber Sumber adalah piranti yang membangkitkan data atau informasi yang akan ditransmisikan. Yang termasuk sumber dalam komunikasi data adalah telepon dan komputer. b. Pengirim (transmitter) 61 KO M P U T E R 1 Kadang-kadang data yang dibangkitkan oleh sumber tidak dapat dikirimkan langsung melalui media transmisi dalam bentuk aslinya. Pada komunikasi data yang menggunakan komputer, transmitter mengubah bit-bit yang masuk menjadi sebuah sinyal yang dapat ditransmisikan. c. Media transmisi Pengiriman data dari pengirim ke penerima membutuhkan media transmisi. Media transmisi dapat berupa kabel tembaga, kabel koaksial, serat optik dan lain-lain. d. Penerima (receiver) Receiver menerima sinyal dan kemudian mengirimkannya ke tujuan dalam bentuk tertentu yang dapat dipahami. e. Tujuan (destination) Bagian ini menangkap data yang dihasilkan oleh receiver. Komunikasi data memiliki sejumlah tujuan yaitu: 1. Mengirim data dalam waktu yang seminimal mungkin dengan tingkat kesalahan yang sekecil mungkin 2. Mengirim data dalam volume besar secara ekonomis 3. Mempersingkat waktu yang dibutuhkan dalam memproses data 4. Memudahkan penyebaran informasi secara cepat melalui jaringan yang ada Jaringan komunikasi data terdiri dari beberapa jenis di antaranya : 1. Switched network Pada switched network, data dikirim dari satu titik ke titik lain (point to point communication). Teknik penyambungan yang digunakan pada jenis jaringan ini terdiri dari 2 macam yaitu: a. Circuit-switched network Pada teknik penyambungan ini, rangkaian jaringan fisik antara terminal pengirim dan penerima dibentuk untuk lalu lintas data. Jaringan fisik ini diduduki secara penuh selama transmisi / pengiriman data sehingga jika mesin penerima sedang melakukan komunikasi dengan mesin lain (jaringan fisik ke tempat tujuan sedang dipakai) maka komunikasi data tidak dapat dilakukan sampai jaringan fisik itu tersedia kembali. Pada teknik penyambungan ini, data dikirim melalui media transmisi secepat mungkin ketika jalur untuk komunikasi data sudah terbentuk. Pada circuit-switched network, data melalui satu atau lebih mesin-mesin perantara. Data pun dapat melalui bermacam-macam rute untuk mencapai tujuan. Oleh karena itu, dalam circuit-switched network, algoritma routing memegang peranan penting. Contoh circuit-switched network adalah jaringan telepon. 62 KO M P U T E R b. 1 Packet-switched network Paket adalah pesan-pesan berukuran kecil. Paket dikirim dari suatu mesin pengirim (source) ke mesin-mesin lainnya. Dalam hal ini paket memiliki field alamat yang berisi alamat tujuan paket tersebut dikirimkan. Pada packet-switched network, data yang akan dikirimkan dapat disimpan terlebih dahulu sebelum dikirimkan. Dengan kata lain, paket dapat dikirim secara beruntun. Hal ini memungkinkan tetap terjadinya komunikasi data tanpa harus menduduki jalur transmisi secara penuh untuk pengiriman paket dalam satu waktu. Jika dalam perjalanan menuju mesin penerima paket harus melalui mesin-mesin perantara, maka paket akan dikirim. Contoh packet-switched network adalah komunikasi data dari sebuah komputer 2. ke komputer lain. Broadcast network Pada broadcast network, komunikasi terjadi antara sebuah transmitter (pengirim) yang berupa sebuah mesin atau stasiun dengan banyak receiver (penerima) melalui media transmisi tertentu. Jika media transmisi dialokasikan untuk sejumlah transmitter, hanya sebuah transmitter yang dapat mengirimkan data dalam satu waktu ke banyak penerima. 3. Satellite networks Pada satellite network, data tidak dikirim dari transmitter ke receiver secara langsung tetapi melainkan di-relay terlebih dahulu ke satelit. 8.3 Sinyal Analog dan Digital Komunikasi data pada dasarnya pertukaran bit-bit data. Pertukaran ini terjadi karena adanya hantaran sinyal-sinyal elektronik atau sinyal listrik antara piranti pengirim dan penerima data. Penggunaan sinyal listrik dalam komunikasi data mempunyai sejumlah alasan yaitu: a. Pembangkitan sinyal yang relatif mudah b. Sinyal listrik dapat dengan mudah diubah menjadi besaran listrik, begitu juga sebaliknya. Dalam komunikasi data, sinyal merupakan terminologi yang sering dipakai. Apakah yang dimaksud dengan sinyal (isyarat)? Secara sederhana, sinyal adalah set informasi atau data. Sinyal dapat dinyatakan sebagai fungsi waktu (dalam domain waktu) dan fungsi frekuensi (dalam domain frekuensi). Sinyal yang dinyatakan sebagai fungsi waktu dapat bersifat kontinyu maupun diskrit. Untuk sinyal yang bersifat kontinyu, jika f(t) adalah suatu sinyal maka 63 KO M P U T E R 1 lim f ( x )= f (a) , x→ a untuk semua nilai a. Sinyal yang kontinyu dalam domain waktu ditunjukkan oleh gambar 8.1. Gambar 8.1. Sinyal yang kontinyu Sinyal yang kontinyu ini biasanya berbentuk gelombang yang selalu menyambung (tidak patah-patah atau tidak ada perubahan nilai yang bersifat tiba-tiba). Sinyal yang dinyatakan dalam domain waktu pun dapat bersifat diskrit. Sinyal diskrit mempunyai bentuk sinyal yang putus-putus, ada perubahan nilai yang bersifat tiba-tiba. Sinyal diskrit umumnya berbentuk pulsa. Sinyal diskrit dalam domain waktu ditunjukkan oleh gambar 8.2. Gambar 8.2. Sinyal yang diskrit Selain dinyatakan dalam domain waktu, sinyal pun dapat dinyatakan dalam domain frekuensi. Secara matematis, sinyal dalam domain frekuensi ini diperoleh dengan melakukan tranformasi Fourier terhadap sinyal yang dinyatakan dalam domain waktu. Sinyal yang dinyatakan dalam domain frekuensi pun dapat berupa sinyal kontinyu maupun sinyal diskrit. Sinyal kontinyu maupun sinyal diskrit dapat berupa sinyal periodik. Sebuah sinyal dikatakan periodik jika: f ( t+T )= f ( t ) untuk−∞