Bab 1 GAMBARAN UMUM KOMPUTER DAN PEMPROGRAMAN

09.34.00



Komputer Elektronik
         Komputer pertama dibuat pada akhir tahun 1930 oleh Dr. John Atanasoff dan Clifford Berry di Iowa State University. Komputer ini digunakan untuk membantu mahasiswa pasca sarjana dalam menghitung fisika nuklir.
         Komputer “general-purpose” pertama diberi nama ENIAC selesai dibangun pada tahun 1946 di University of Pennsylvania dengan pendanaan dari U.S. Army. Komputer ini memiliki berat 30 ton, berukuran 30 x 50 kaki, dan digunakan untuk menghitung prediksi cuaca dan energi atom. Komponen elektronik utama yang digunakan adalah vacuum tubes.
         Dengan kemajuan teknologi dewasa ini, satu prosesor komputer bisa dipaket dalam satu komponen elektronik yang disebut chip, yang berukuran seperti perangko. Chip ini bisa diinstall di jam, kalkulator, kamera, dan juga komputer.
         Elemen sistem komputer dikelompokkan menjadi dua:
         Hardware: peralatan yang digunakan untuk melakukan komputasi, termasuk Central Processing Unit (CPU), monitor, keyboard, printer, dan lain-lain.
         Software: program (kumpulan instruksi) untuk menyelesaikan permasalahan dengan menggunakan komputer.
Dulu, penyusunan program (programming) dilakukan dengan menyusun instruksi berupa deretan bilangan biner (0 dan 1).
Sekarang, programming dilakukan dengan cara lebih mudah dengan menggunakan bahasa pemrograman tingkat tinggi, seperti Pascal, C, Basic, dan lain-lain.
Memori
         Memori terdiri atas banyak sel. Masing-masing sel memiliki alamat dan isi.
        Alamat: mengidentifikasi lokasi setiap sel di dalam memori.
        Isi: merepresentasikan data yang tersimpan dalam sel memori.
Setiap sel memori terdiri atas kumpulan bit (bernilai 0 atau 1). Satu sel memori bisa menyimpan 8, 16 atau 32 bit, tergantung pada tipe komputer.Penyimpanan data ke dalam memori dilakukan dengan menset nilai 0 atau 1 ke dalam sel-sel memori, sehingga merusak isi dari sel memori sebelumnya.Pengambilan data dari memori dilakukan dengan menyalin pola 0  atau 1 dari sel memori, tanpa merusak isi dari sel memori sebelumnya.Memori utama menyimpan baik program maupun data. Ada dua tipe memori utama:
        Random Access Memori (RAM).
         Menyimpan program dan data secara sementara, yaitu pada saat program dan data tersebut sedang dieksekusi oleh komputer.
         Semua yang tersimpan di dalam RAM akan hilang pada saat komputer dimatikan.
        Read-Only Memory (ROM).
         Menyimpan program dan data secara permanen.
         Komputer hanya dapat membaca isi ROM, tetapi tidak dapat menuliskan isi baru ke dalam ROM.
         Isi ROM tidak akan hilang pada saat komputer dimatikan.
         ROM biasanya diisi oleh pabrik komputer dengan instruksi start-up dan instruksi kritis yang lain.
Memori sekunder memiliki kemampuan penyimpanan data secara semi permanen. Contoh: floppy disk, hard disk, flash disk, CD.
Central Processing Unit (CPU)
         Peralatan Input/Output digunakan oleh user untuk berkomunikasi dengan komputer, sehingga user dapat memasukkan data yang diperlukan untuk komputasi melalui peralatan input dan user dapat melihat hasil komputasi melalui peralatan output.
         Dalam program aplikasi pengolah kata seperti Ms. Word, user bisa mengetikkan laporan melalui keyboard dan user bisa melihat hasil ketikannya di monitor.
         Contoh peralatan input: keyboard, mouse, scanner.
         Contoh peralatan output: printer, monitor.
Jaringan Komputer
         Seringkali beberapa komputer dihubungkan dalam suatu jaringan komputer, sehingga user-user komputer bisa mengakses secara bersama hard disk, printer, maupun resource yang lain.
         Komputer yang mengontrol akses terhadap resource yang digunakan secara bersama disebut server.
         Jika komputer-komputer yang terhubung hanya mencakup area lokal, misalnya dalam satu gedung, maka jaringan tersebut disebut jaringan komputer lokal (local area network/LAN).
         Komputer-komputer yang terhubung bisa juga mencakup area di seluruh dunia, misalnya jutaan komputer di seluruh dunia dapat mengakses secara bersama sistem mail elektronik. Jaringan mendunia seperti ini disebut internet.
         Komputer di rumah pun bisa terhubung ke internet melalui modem dan saluran telepon. Modem (modulator/demodulator) adalah alat yang dapat mengkonversi data komputer biner ke dalam tone audio, yang selanjutnya bisa ditransmisikan ke komputer lain melalui saluran telepon. Di komputer penerima, data dikonversi oleh modem ke dalam bentuk data biner supaya bisa diproses lebih lanjut.
GAMBARAN UMUM BAHASA PEMPROGAMAN
         Bahasa pemrograman yang digunakan untuk menulis program komputer dapat dikelompokkan menjadi dua, yaitu:
        Bahasa mesin
        Bahasa tingkat tinggi
         Bahasa pemrograman yang dimengerti oleh komputer adalah bahasa mesin. Setiap instruksi bahasa mesin terdiri dari rangkaian bilangan biner 0 dan 1. Sebagai contoh, untuk merepresentasikan rumus berikut:
Total_harga_barang = harga barang + pajak
            Program bahasa mesin yang harus ditulis adalah:
0010 0000 0000 0100
0100 0000 0000 0101
0011 0000 0000 0110
            Pada contoh instruksi di atas, baik jenis operasi yang dilakukan maupun alamat dari data-data yang digunakan, semua dinyatakan dalam bilangan biner.Bahasa seperti ini, meskipun sangat mudah dipahami oleh komputer, tetapi sangat sulit dipahami oleh manusia.
         Dalam bahasa tingkat tinggi, instruksi-instruksi yang digunakan mirip dengan bahasa yang digunakan manusia sehari-hari. Contoh instruksi dalam bahasa tingkat tinggi:
                        Total_harga_barang = harga barang + pajak;
            Instruksi tersebut berarti “Menambah nilai harga_barang dengan pajak, serta menyimpan hasilnya di dalam total_harga_barang”.
            Pada contoh di atas, jenis operasi yang dilakukan ditulis dengan simbol ‘+’, dan alamat dari data yang digunakan dinyatakan dengan nama deskriptif (harga_barang, pajak, total_harga_barang).
         Suatu bahasa tingkat tinggi memiliki standard bahasa yang mendeskripsikan aturan (syntax) dari bahasa tersebut. Setiap instruksi yang ditulis menggunakan bahasa tingkat tinggi harus mematuhi syntax yang telah ditetapkan.
Bahasa Tingkat Tinggi
Tujuan Awal
C
Untuk menulis software sistem
C++
Perluasan dari C yang juga mendukung pemrograman berorientasi obyek
Ada
Bahasa yang digunakan di Departemen Pertahanan Amerika untuk mengembangkan sistem terdistribusi real time
Lisp
Untuk menulis aplikasi kecerdasan buatan
Pascal
Untuk melatih pelajar menulis program secara hati-hati dan terstruktur
Fortran
Untuk menulis aplikasi teknik dan sains
Basic
Bahasa sederhana untuk dipelajari di sekolah-sekolah
Cobol
Untuk menulis aplikasi pengolahan data bisnis
Kebanyakan bahasa pemrograman digunakan untuk menulis software aplikasi, yaitu software yang melakukan tugas-tugas user. Sebagai contoh: aplikasi perhitungan gaji, aplikasi pemesanan tiket pesawat, dll.
Bahasa C dan C++, selain digunakan untuk menulis software aplikasi, juga bisa digunakan untuk menulis software sistem, yaitu software yang melakukan tugas-tugas yang diperlukan agar operasi dari sistem komputer bisa berjalan dengan baik.Karena komputer hanya bisa mengerti bahasa mesin, maka program yang ditulis dalam bahasa tingkat tinggi (source program/program sumber)harus ditranslasi ke dalam bahasa mesin (object program/program objek) sebelum dieksekusi.
Dalam Borland C++, semua program yang dibutuhkan untuk menyusun file executable dengan menggunakan BTT sudah tersedia dalam suatu lingkungan pengembangan program yang terpadu (integrated development environment).
METODE PENGEMBANGAN SOFTWARE
         Pemrograman adalah suatu aktifitas pemecahan masalah.
         Metode pemecahan masalah dibahas pada berbagai bidang, misalnya:
        Di bidang bisnis digunakan pendekatan sistem
        Di bidang teknik dan sains digunakan metode teknik dan saintifik
        Di bidang pemrograman digunakan metode pengembangan software
         Langkah-langkah dalam metode pengembangan software:
        Menspesifikan kebutuhan masalah
        Menganalisis masalah
        Merancang/mendesign algoritma untuk menyelesaikan masalah
        Mengimplementasikan algoritma
        Mentest dan memverifikasi program
        Memelihara dan meng-update program
1.      SPESIFIKASI MASALAH
         Kita harus dapat menspesifikasikan masalah dengan jelas dan tidak umbiguous dan memiliki pemahaman yang jelas mengenai apa yang diperlukan untuk menyelesaikan masalah tersebut.
         Kita harus dapat mengeliminasi aspek-aspek yang tidak penting dari masalah.
         Dalam langkah ini, kita mungkin membutuhkan informasi dari orang-orang yang terlibat dalam masalah tersebut.
2.      ANALISIS
Kita harus dapat menspesifikasikan masalah dengan jelas dan tidak umbiguous dan memiliki pemahaman yang jelas mengenai apa yang diperlukan untuk menyelesaikan masalah tersebut.Kita harus dapat mengeliminasi aspek-aspek yang tidak penting dari masalah.Dalam langkah ini, kita mungkin membutuhkan informasi dari orang-orang yang terlibat dalam masalah tersebut.
         Contoh:
      Problem: Hitung dan tampilkan total harga apel jika jumlah kg apel yang dibeli dan harga perkg apel diketahui.
      Analisis:
      Hitung dan tampilkan total harga apel jika jumlah kg apel yang dibeli dan harga perkg apel diketahui.
      Input:
                  Jumlah apel yang dibeli (dalam kg) -> kg_beli
                  Harga per kg apel (dalam rupiah) -> harga_kg
      Output:
                  Total harga apel (dalam rupiah) -> total
      Rumus :
                  total = harga_kg x kg_beli
         Proses pemodelan suatu masalah dengan cara mengekstrak variabel-variabel penting dan hubungan di antara variabel-variabel disebut abstraksi.
3.      DESIGN
Dalam tahap design, kita menyusun algoritme (daftar langkah yang diperlukan untuk menyelesaikan masalah) dan memverifikasi apakah algoritme yang kita susun dapat menyelesaikan masalah sesuai dengan yang kita inginkan.
Jangan berusaha secara langsung untuk menyelesaikan masalah secara detail pada saat merancang algoritme. Gunakan pendekatan top down design (disebut juga divide and conquer), yaitu pendekatan yang dimulai dengan mendaftar langkah-langkah utama atau submasalah yang diperlukan untuk menyelesaikan masalah utama, selanjutnya diikuti dengan menyusun penyelesaian untuk setiap submasalah.
         Hampir setiap algoritme komputer terdiri dari submasalah berikut:
        Memasukkan data
        Melakukan perhitungan
        Menampilkan hasil
         Proses penyusunan langkah-langkah penyelesaian untuk setiap submasalah yang berhasil diidentifikasi disebut penghalusan algoritme (algorithm refinement).
         Untuk memverifikasi algoritme dilakukan desk checking, yaitu pemeriksaan setiap langkah dalam algoritme dengan cara mensimulasikan hasil eksekusi algoritme dengan perhitungan manual.

4.      IMPLEMENTASI
Pada tahap ini dilakukan penulisan program, yaitu mengkonversi algoritme yang disusun pada tahap sebelumnya ke dalam bahasa pemrograman yang dipilih.
5.      TESTING
Setelah program sudah bisa dieksekusi, dilakukan pengetesan program dengan berbagai macam data, sehingga bisa diverifikasi bahwa program sudah bekerja sesuai dengan kebutuhan pada berbagai situasi yang mungkin dihadapi oleh program.
6.      PEMELIHARAAN (MAINTENANCE)
Pemeliharaan dan peng-update-an program mencakup modifikasi program untuk menghilangkan error yang sebelumnya tidak terdeteksi dan untuk menjaga agar program tetap up-to-date (sesuai) dengan kebijakan pemerintah ataupun dengan perubahan kebijakan oganisasi.
Beberapa organisasi melakukan pemeliharaan program setiap 5 tahun sekali atau lebih, dan seringkali pemeliharaan program dilakukan oleh orang yang sebelumnya tidak terlibat dalam pengembangan program tersebut. Oleh karena itu, sangat penting untuk melakukan dokumentasi terhadap setiap tahap pengembangan software, sehingga proses pemeliharaan program bisa dilakukan dengan baik.
Contoh Kasus Konversi Mil ke Kilometer
         Problem :
      Dalam kerja praktek anda diminta untuk mempelajari beberapa peta.Peta-peta tersebut ada yang menggunakan satuan mil dan ada yang menggunakan satuan kilometer.Oleh pembimbing kerja praktek, anda diminta untuk mengkonversi semua jarak dalam mil ke dalam kilometer.
         Analisis :
      “…. Oleh pembimbing kerja praktek, anda diminta untuk mengkonversi semua jarak dalam mil ke dalam kilometer.”
      Input :
                  Jarak dalam mil -> mil
      Output :
                  Jarak dalam kilometer -> km
      Rumus :
                  1 mil = 1.609 km
         Design :
      Algoritme awal :
    1. Masukkan jarak dalam mil
    2. Konversi jarak dari mil ke kilometer
    3. Tampilkan hasil dalam kilometer
      Penghalusan algoritme :
    1. Masukkan jarak dalam mil
    2. Konversi jarak dari mil ke kilometer
      2.1. Jarak dalam kilometer adalah 1.609 kali jarak dalam mil.
3.   Tampilkan hasil dalam kilometer
      Contoh desk check terhadap algoritma :
      Pada langkah 1, dimasukkan jarak 10 mil, langkah 2.1 akan mengkonversinya menjadi 1.609 x 10 menjadi 16.09 kilometer. Hasil ini akan ditampilkan di langkah 3.
         Implementasi :
/* Konversi jarak dari mil ke kilometer */
#include <stdio.h>             /* definisi printf, scanf */
#include KM_PER_MIL 1.609       /*konstanta konversi */
int main(void) {
double mil,            /*input: jarak dalam mil*/
      km;      /*output: jarak dalam km*/
/* memasukkan jarak dalam mil */
printf(“Masukkan jarak dalam mil : “);
scanf(“%lf”, &mil);
/* konversi jarak ke kilometer */
km = KM_PER_MIL * mil;
/* tampilkan jarak dalam kilometer */
printf(“Hasil konversi adalah %lf kilometer.\n”, km);
return(0);
}
Contoh hasil runing program :
Masukkan jarak dalam mil : 10.00
Hasil konversi adalah 16.090000 kilometer

         Pengetesan
      Untuk memverifikasi bahwa program sudah berjalan sesuai dengan kebutuhan, cobalah mentest program dengan memasukkan beberapa jarak dalam mil yang lain.
STUDY KASUS
         Problem :
      Suatu dealer minyak menampung minyak jualannya di dalam drum-drum. Sementara semua pembeli selalu membeli minyak dengan membawa wadah yang sama berupa jerigen.  Pemilik dealer agak kesulitan untuk menghitung harga minyak yang dibeli oleh pembeli, karena pembeli selalu membeli minyak dengan satuan jerigen (misalnya 3 jerigen, atau 3.5 jerigen), sementara harga jual yang diketahui adalah rupiah per drum, yaitu 100.000 rupiah per drum. Diketahui bahwa 1 jerigen isinya sama dengan 1/20 drum.  Bisakah anda membantu pemilik dealer untuk memudahkan perhitungan harga total minyak yang dijual ke setiap pembeli?
REFERENSI
         Bab 1, “Overview of Computers and Programming”, Problem Solving and Program Design in C, Jeri R. Hanly dan Elliot B. Koffman, Addison Wesley, 2002


You Might Also Like

0 komentar





"Jangan menjelaskan tentang dirimu kepada siapapun, karena yang menyukaimu tidak butuh itu. Dan yang membencimu tidak percaya itu"

_Ali bin Abi Thalib_

Like me on Facebook