Anda di halaman 1dari 23

BAB

PENGENALAN KOMPUTER
Pada kenyataannya disekeliling kita telah memasyarakat dunia komputer antara lain ialah kalkulator, cash register yang ada di toserba maupun supermarket ataupun peralatan-peralatan lain yang serba komputer. Apakah itu sama dengan komputer ? Jawaban singkat dan sederhana yang dapat diberikan ialah pada kenyataannya hal tersebut dapat kita sebut sebagai komputer. Kata KOMPUTER sebenarnya merupakan alihan dari bahasa Inggris, COMPUTER. COMPUTER dalam bahasa latin yaitu COMPUTARE yang berarti MENGHITUNG, to compute.

Definisi Dasar Komputer


Adapun definisi yang diberikan para ahli mengenai komputer antara lain : 1. Gerald A.S dan Joan B Silver (1973), as an electronic device that processes data, is capable of receiving input and output, and processes such characteristics as high speed, accuracy, and the ability to store a set of instructions for solving a problem. 2. John G Kemeny dan Thomas E Kurtz (1967), a computer is a machine that caries out calculations and logical operations upon command. 3. Gordon B Davis (1977), the term computer has come to mean a special type of calculating device having certain difinite characteristing. 4. Donald H Sanders (1983), an electronic symbol manipulating system thats designed and organized to automatically accept and store input data, process them, and produce output result under the direction of a detailed step-by-step stored program of instructions. Jadi dari definisi-definisi tersebut dapat ditarik beberapa pengertian dasar, yaitu :

Algoritma & Pemrograman I

Komputer merupakan suatu rangkaian peralatan elektronik yang bekerja bersamasama. Komputer merupakan mesin yang bekerja secara otomatis. Komputer adalah alat pengolah data menjadi informasi melalui proses tertentu. Komputer merupakan rangkaian peralatan elektronik yang bekerja bersama-sama dapat melakukan rangkaian pekerjaan secara otomatis melalui instruksi / program yang di berikan kepadanya.

1.2 Prinsip Kerja Komputer


Prinsip kerja komputer yang dimaksud adalah terdapat sesuatu yang dimasukkan ke dalam komputer melalui media tertentu diolahnya dan selanjutnya akan disajikan hasil pengolahan sesuai dengan permintaan. Pada dasarnya cara kerja komputer adalah :

INPUT

UNIT PROSES

OUTPUT

Dalam melaksanakan tugasnya komputer berpedoman pada prosedur atau program yang telah diterima. Urutan kerja komputer adalah sebagai berikut : 1. INPUT adalah merubah suatu data dari sumber dokumen ke dalam suatu bentuk yang dapat di terima untuk pemrosesan data di dalam komputer. Input ini dapat berupa cassette, punched card, magnetic tape dan magnetic disk, hard disk, floppy disk / diskette dan lain-lain. 2. UNIT PROSES selama pemrosesan data, data tersebut diubah bentuknya, urutannya juga strukturnya sedemikian rupa sehingga akan mendapatkan suatu hasil yang diinginkan. 3. OUTPUT adalah hasil dari pemrosesan data, dimana hasil tersebut dapat dibaca pada layar komputer ataupun melalui kertas printer, grafik / gambar, tabel dan lain sebagainya.

Pengertian Sistem Komputer


Sistim komputer adalah terdiri atas komputer itu sendiri (CPU), dan seluruh komponennya yang membuat komputer tersebut berfungsi dengan baik.

Algoritma & Pemrograman I

1.2.1 Komponen-Komponen Komputer Komputer memiliki 3 komponen utama yaitu : 1. HARDWARE (PERANGKAT KERAS) adalah merupakan gabungan atau rangkaian berbagai peralatan fisik komputer yang kerjanya didasarkan pada ada tidaknya arus listrik. Hardware terdiri dari central processing unit (CPU) dan Input/Output Unit. 2. SOFTWARE (PERANGKAT LUNAK) adalah kumpulan prosedur dan program yang memungkinkan komputer (hardware) berfungsi sebagai alat pengolah data. 3. BRAINWARE adalah tenaga ahli yang memungkinkan terlaksananya komputerisasi. 1.2.2 Jenis-Jenis Komputer KOMPUTER MENURUT JENIS DATA YANG DIOLAH Dapat dibagi dalam 3 jenis yaitu : 1. KOMPUTER DIGITAL Jenis komputer yang dibuat untuk mengolah data kuantitatif, berupa angka-angka, huruf, tanda-tanda baca, baik berdiri sendiri maupun gabungan dari data tersebut. 2. KOMPUTER ANALOG Jenis komputer yang digunakan untuk mengolah data kualitatif, seperti pengukuran temperatur, pengukuran kecepatan suara, pengukuran tegangan dan sebagainya. Analog computer umumnya digunakan untuk mengontrol suatu mesin dalam memproduksi barang. 3. KOMPUTER HYBRID Jenis komputer yang dapat mengolah data kuantitatif maupun kualitatif (merupakan paduan digital dan analog). KOMPUTER MENURUT BIDANG MASALAH Dapat dibagi dalam 2 jenis yaitu : 1. KOMPUTER SERBA GUNA (GENERAL PURPOSE) Yaitu komputer yang digunakan untuk membantu menyelesaikan berbagai tugas yang sifatnya umum, seperti pembayaran gaji, masalah administrasi dan sebagainya. 2. KOMPUTER UNTUK KEGUNAAN KHUSUS (SPECIAL PURPOSE) Yaitu komputer yang digunakan untuk membantu menyelesaikan pekerjaan-pekerjaan yang sifatnya specific, seperti misalnya traffic light, pembedahan jantung dan sebagainya.

Algoritma & Pemrograman I

KOMPUTER MENURUT KAPASITAS KEMAMPUANNYA Dapat dibagi dalam 4 jenis yaitu : 1. MICRO COMPUTER Menurut klasifikasi ini, komputer diamati dari kapasitas kemampuannya (secara sederhana dapat dikatakan bahwa mikro lebih sedikit kapasitas kemampuannya dibandingkan minicoputer). Acap kali digunakan secara stand-alone-unit. 2. MINICOMPUTER Jenis mini nampaknya telah memanfaatkan terminal-terminal Input/Output yang lebih dari satu unit. Oleh karenanya kemampuan melakukan operasi agaknya telah lebih meningkat dibandingkan microcomputers. 3. MAINFRAME COMPUTER Ditandai oleh kapasitas kemampuan yang sangat besar serta pengoperasian yang sangat cepat. Disamping itu, jenis ini umumnya digunakan bagi keperluan yang amat luas. 4. SUPERCOMPUTERS Pada dasarnya hampir serupa dengan klasifikasi mainframe, namun perbedaan yang amat mendasar ialah pada kemampuannya. 1.2.3 Aplikasi Komputer Penggunaan/aplikasi komputer yang berbeda-beda yaitu antara lain :

Menyortir data Membuat daftar-daftar Mencari file-file Membuat perbandingan serta membuat keputusan-keputusan logik

Aspek-aspek yang berhasil dimasuki oleh komputer meliputi :


Bidang penelitian dan sain (science and research), Contoh : penyelesaian persoalan matematika tingkat tinggi. Bidang pengendalian proses (process control), Contoh : pengaturan rambu lalu lintas dalam kota. Bidang pendidikan (education), Contoh : menyimpan dan memproses data mahasiswa atau memeriksa hasil test. Bidang Personal Computing, Contoh : menyusun agenda, daftar administrasi dan sebagainya. Bidang Information System / data processing, Contoh : pengiriman berita, pengetikan surat dan sebagainya. Bidang hiburan Contoh : vidio game.

Algoritma & Pemrograman I

Contoh penggunaan yang nyata dalam organisasi perusahaan digambarkan sebagai berikut : Sebuah perusahaan yang berkembang, volume penjualan dan manufacturingnya menghasilkan volume kertas-kertas kerja yang besar pula. Sering pula sejalan dengan pertumbuhan itu sejumlah persoalan dapat terjadi seperti : Sistem yang ada pada perusahaan tidak dapat memberikan informasi yang tepat waktu (Timely). Tingkat kesalahan yang tinggi dapat terjadi. Prosedur yang ada sekarang dalam perusahaan mungkin tinggi biayanya dan tidak efisien. Sistem yang ada sekarang dalam perusahaan mungkin tidak dapat mengimbangi kemajuan perusahaan. Pimpinan mungkin tidak dapat membuat keputusan-keputusan yang tepat karena informasi yang diberikan tidak cukup, tidak tepat dan mungkin terlambat. Karena itu sekarang sudah tiba waktunya untuk meninjau dan mempertimbangkan semua sistem dan prosedur yang ada dalam perusahaan. Pertimbangan itu misalnya dapat memakai alat-alat tambahan seperti pemakaian komputer untuk penyederhanaan sistem. Dalam hal ini akan kita bicarakan bantuan yang dapat diberikan oleh komputer untuk memecahkan masalah tersebut. Kalau perusahaan memakai jasa komputer dengan tepat akan menghasilkan efektivitas kerja yang tinggi. Biasanya perusahaan menempatkan komputer pada posisi yang berfungsi untuk menerima semua data dari departemen lain yang ada dalam data (bank data). Komputer kemudian dapat mengolah data, menyimpan data, dan menyajikan data dalam bentuk informasi. Komputer tentu saja dapat menekan biaya, meminimasi kesalahan dan menaikkan efisiensi serta membantu dalam membuat keputusan (decision making). Tujuan dasar dari perusahaan adalah memaksimasi laba dan meminimasi biaya. Komputer dapat membantu dalam usaha mencapai tujuan itu dengan cara sebagai berikut : Mengurangi kebutuhan akan tenaga kerja yang bertugas sebagai record-keeping dan clearical functions. Menyimpan data dengan efisien. Menyediakan informasi setiap saat bila diperlukan. Membantu pimpinan dalam membuat keputusan dengan cara memberi informasi yang tepat dan akurat.

Algoritma & Pemrograman I

BAB I

BAHASA KOMPUTER DAN PROGRAM


Seperti diketahui, program ditulis dalam bahasa komputer. Apakah bahasa komputer itu ? Bahasa komputer adalah bahasa untuk mengkomunikasikan sesuatu kepada komputer. Sebagai bahasa buatan, bahasa itu merupakan khasanah instruksi yang dikenal oleh komputer dengan tatabahasa (syntax) yang terdapat di dalam instruksi tersebut. Apakah sebenarnya instruksi itu ? instruksi adalah kebulatan pernyataan yang dapat diterima, dapat dimengerti dan dapat dilaksanakan oleh komputer. Secara fisik instruksi itu berupa deretan simbol (alfabet) yang menjadi berarti bagi komputer, jika diberikan kepadanya dengan cara yang benar. Pada dasarnya bahasa komputer terbagi menjadi dua jenis bahasa, yaitu bahasa mesin dan bahasa awam.

Perkembangan Bahasa Komputer


A. BAHASA GENERASI PERTAMA : BAHASA MESIN

Pada dasarnya, komputer adalah mesin digital, artinya komputer hanya mengenal ada arus listrik (biasanya dilambangkan dengan 1) dan tidak ada arus listrik (biasanya dilambangkan dengan 0). Dengan kata lain, kita harus menggunakan sandi biner 0 dan 1 untuk melakukan pemrograman komputer. Pada awal dikembangkannya komputer pertama yaitu ENIAC (Electrical Numerical Integrator and Calculator) pada tahun 1945 oleh John W. Manckly dan J. Preper Eckert dari University of Pennsylvania bahasa pemrograman komputer harus disusun dengan menggunakan kodekode biner, yaitu 0 dan 1. Contoh programnya ialah : 100110101100101101011 Bahasa pemrograman ini disebut sebagai bahasa mesin.Untuk dapat menyusun program dalam mesin seorang programer harus mengerti karakteristik mesin yang dihadapinya. Karena program dalam bahasa mesin harus disusun sesuai dengan karakteristik mesin tersebut. Sehingga dapat dimengerti bahwa menyusun program dalam bahasa mesin adalah rumit dan memerlukan waktu lama. Contoh diagram pemrosesan program bahasa mesin :

011010011101110111
Algoritma & Pemrograman I

KOMPUTER DATA

7625

B.

BAHASA GENERASI KEDUA : BAHASA ASSEMBLY

Karena bahasa mesin sangat susah, maka muncul ide untuk melambangkan untaian sandi / kode biner 0 dan 1 dengan singkatan kata yang lebih mudah dipahami manusia. Singkatan kata ini kemudian sering disebut mnemonic code. Bahasa pemrograman yang menggunakan singkatan kata ini disebut bahasa assembly. Atau seringkali juga disebut sebagai assembler. Bahasa Assembly disebut sebagai bahasa Aras Rendah (low level language). Penulis program bahasa Assembly masih perlu mengetahui karakteristik mesin komputer yang dihadapi. Karena bahasa pemrograman ini masih bersifat machine dependent, yaitu bahwa penulisan nya adalah harus disesuaikan dengan mesin komputer yang digunakan. Tetapi memang menulis program dalam bahasa ini sudah jauh lebih mudah daripada menulis program dalam bahasa mesin. Sebagai contoh, dalam prosesor Intel, terdapat perintah 0011 1010 0000 1011. perintah dalam bahasa mesin ini sama artinya dengan perintah assembly CMP AL,0D, yang artinya banding kan nilai register AL dengan 0D. CMP di sini sebenarnya adalah singkatan dari CoMPare. Dapat kita lihat bahwa perintah CMP AL,0D jauh lebih mudah dipahami daripada 0011 1010 0000 1011. Tentu saja ini jika dilihat dari sudut pandang manusia; bagi komputer, kombinasi 0 dan 1 tentu lebih mudah dipahami. C. BAHASA GENERASI KETIGA : BAHASA ARAS TINGGI (HIGH LEVEL LANGUAGE)

Pemrograman dengan bahasa assembly dirasakan banyak orang masih terlalu sulit. Sesuai dengan sifat manusia yang tidak pernah puas, akhirnya pada sekitar tahun 1950, suatu tim kecil dari pabrik komputer IBM yang dipimpin oleh John Backus berhasil mengembangkan suatu bahasa pemrograman yang dapat ditulis oleh seorang awam biasa yang tidak mengenal komputer. Bahasa tersebut dinamakan FORTRAN, singkatan dari FORmula TRANslator. Bahasa pemrograman ini sudah bersifat machine independent, artinya seorang pemrogram akan dapat menulis suatu program tanpa harus mengetahui karakteristik mesin yang akan dipakai nanti. Bahasa pemrograman ini menggunakan kata-kata yang mudah dikenali oleh manusia. Bahasa pemrograman seperti ini disebut bahasa generasi ketiga atau disingkat 3GL (third-generation language). Beberapa orang menyebut bahasa ini dengan bahasa tingkat tinggi atau disingkat HLL (high-level language). Ada banyak contoh bahasa generasi ketiga, selain dari FORTRAN, antara lain : Basic, Pascal, C, C++, COBOL dan sebagainya. Bahasa generasi ketiga biasanya menggunakan kata-kata dalam bahasa Inggris karena memang bahasa tersebut adalah bahasa internasional. Sebagai contoh, kita dapat menuliskan perintah berikut dalam : Bahasa Pascal : Bahasa C :
iteln (Algoritma); intf (Algoritma\n\r);

Algoritma & Pemrograman I

Bahasa C++ : Bahasa Visual Basic

cout <<Algoritma << endl; Form1.Print Algoritma

Keempat pernyataan di atas bertujuan sama, yaitu menuliskan teks Algoritma ke keluaran standar (standar output), biasanya ke layar komputer. D. BAHASA GENERASI KEEMPAT : BAHASA-BAHASA DEKLARATIF

Para ahli tidak berhenti pada bahasa generasi ketiga, terus diusahakan penyempurnaan pada bahasa pemrograman. Dan sekitar tahun 1980 berhasil dikembangkan bahasa pemrograman generasi keempat (fourth generation language = 4th GL). Bahasa pemrograman generasi keempat ini sudah jauh lebih mudah ditulis, bahkan oleh orang yang sangat awam komputer sekalipun, seperti ibu rumah tangga, atau manajer perusahaan yang dunianya sehari-hari adalah berhubungan dengan pemanfaatan komputer. Bahasa ini banyak digunakan untuk mengembangkan aplikasi basis data (database). Salah satu contohnya adalah SQL (Structured Query Language). Pada bahasa ini, perintah-perintah yang digunakan lebih manusiawi, misalnya SELECT Nama, Alamat FROM Karyawan, untuk mengambil data Nama dan Alamat dari data Karyawan. Bahasa pemrograman generasi keempat disebut juga sebagai bahasa pemrograman deklaratif. Bahasa deklaratif adalah bahasa pemrograman seperti bahasa Inggris biasa. Bahasa ini di kembangkan dengan ide agar para professional dapat dengan mudah dan cepat memanfaatkan komputer dilingkungan pekerjaan tanpa perlu bantuan program.

Algoritma & Pemrograman I

BAB III

PROGRAM DAN PEMROGRAMAN


Program
Di dalam pemecahan persoalan dengan komputer, kedudukan komputer hanyalah sebagai alat bantu. Untuk itu kepadanya harus diberikan serangkaian instruksi yang urut, sistematis dan logis, untuk mengolah data agar ia dapat menampilkan hasil-hasil yang diharapkan dapat mem bantu pemecahan masalah. Komputer sangat tergantung kepada instruksi-instruksi yang di berikan dan tidak dapat berbuat menyimpang dari padanya. Program adalah serangkaian instruksi yang disusun secara urut, sistematis dan logis. Kegiatan yang berhubungan dengan pembuatan program disebut pemrograman. Dalam pemrograman komputer, kita memerlukan beberapa langkah. Berikut ini adalah beberapa langkah yang harus dilakukan dalam pemrograman komputer : 1. 2. 3. 4. 5. 6. 7. Mendefinisikan masalah. Menyusun Spesifikasi Program. Memilih algoritma. Menulis program. Menguji program. Menulis dokumentasi. Merawat program

Mendefinisikan Masalah Langkah pertama ini sering dilupakan oleh banyak pemrogram. Begitu mereka mendapat perintah untuk membuat suatu program, mereka langsung menulis programnya tanpa men definisikan masalahnya terlebih dahulu. Tentukan / identifikasikan masalahnya seperti apa, kemudian apa saja yang harus dipecahkan dengan komputer, memutuskan apakah penyelesai an masalah memerlukan modifikasi perangkat lunak yang sudah ada atau membuat program aplikasi baru (sering dikenal juga sebagai tahapan analysis).

Algoritma & Pemrograman I

Pemakai komputer sering mengandalkan komputer untuk menyelesaikan persoalan mereka. Oleh karena itu pekerjaan seorang programer dimulai berdasarkan permintaan pemakai komputer untuk menyelesaikan persoalan mereka. Analisa dari masalah meliputi dua langkah, yaitu : 1. Mengidentifikasikan persoalan dan menentukan jenis penyelesaian macam apa yang diperlukan. Hal yang pertama yang harus dilakukan oleh seorang programer dalam mempelajari suatu masalah adalah memutuskan apakah sebenarnya ada persoalan. Ini mungkin tugas yang sulit bagi programer, karena menyangkut kemampuan perspektif dan ke mampuan berkomunikasi yang baik dengan pemakai komputer. Hal ini semua me merlukan kecerdikan yang biasanya tak dapat dipelajari dari buku. Di samping menentukan apakah ada atau tidaknya persoalan itu, programer harus juga memutus kan apakah penyelesaian dengan komputer tepat. Setelah masalah menjadi jelas, programer kemudian menentukan batasan-batasan yang harus dipenuhi oleh perangkat lunak. Langkah ini menyangkut menentukan output yang dinginkan, kemudian input yang dibutuhkan untuk menghasilkan output tersebut dan tugas pemrosesan yang harus dilakukan oleh perangkat lunak tersebut. 2. Kalau penyelesaian itu menyangkut perangkat lunak, persyaratan-persyaratan perangkat lunak itu harus dipenuhi. Persyaratan-persyaratan output selalu dikembangkan lebih dahulu, karena programer belum tahu apa yang akan dimasukkan ke dalam perangkat lunak jika tidak tahu apa yang akan dikeluarkan. Programer harus menentukan terlebih dahulu isi, format, timing dan flexibilitas dari output yang diinginkan. Isi : tipe informasi apa yang diberikan oleh program aplikasi dan bagaimana tingkat kedalaman informasi itu. Timing : kapan para pemakai memerlukan informasi. Format : bagaimana informasi itu harus disajikan. Flexibilitas : output mempunyai keleluasaan untuk diubah hasilnya, sesuai dengan keinginan dari pemakai jasa program komputer dan mudah dimengerti hasilnya. Menyusun Spesifikasi Program Spesifikasi program dalam garis besarnya terdiri atas :

Diskripsi Diagram Alir

: keterangan umum mengenai persoalan yang dipecahkan, input dan output yang akan dihasilkan oleh program itu. : keterangan dalam bentuk diagram, tentang bagaimana input di proses menghasilkan output, dan aspek teknis pelaksanaannya. 10

Algoritma & Pemrograman I

Format Input

: keterangan mengenai himpunan atau urutan data yang masuk ke komputer, terutama tentang organisasi data. Informasi tentang proses : ketentuan-ketentuan mengenai proses, rumus-rumus yang digunakan, syarat-syarat dan tindakan-tindakan yang berhubungan termasuk keadaan-keadaan abnormal yang ditangani program. Format Output : keterangan bagaimana hasil pengolahan disajikan serta hasil-hasil samping yang ada, termasuk aneka pilihan yang tersedia dalam menampilkan hasil-hasil keluarannya.

Memilih Algoritma Langkah ini merupakan salah satu langkah penting dalam pemrograman komputer. Mengapa ? karena pemilihan algoritma yang salah akan menyebabkan program memiliki unjuk kerja yang kurang baik. Algoritma ini akan kita bahas sepanjang perkuliahan ini. Menulis Program Pada langkah ini, kita mulai menuliskan program komputer untuk memecahkan masalah yang diberikan. Untuk menulis program, kita menggunakan salah satu bahasa generasi ketiga. Kita tidak menggunakan bahasa mesin atau assembly karena terlalu sulit dan memboroskan waktu. Memang banyak orang yang senang menggunakan assembly dengan alasan kecepatan tinggi, tetapi waktu yang diperlukan untuk menulis program juga sangat lama. Kita juga tidak me makai bahasa generasi keempat, karena penggunaannya lebih banyak dalam dunia basis data. Dalam perkuliahan ini, kita akan menulis program menggunakan bahasa Visual Basic. Menguji Program Setelah program selesai ditulis, kita harus mengujinya. Pengujian pertama adalah : apakah program berhasil dikompilasi dengan baik ? Pengujian berikutnya : apakah program dapat me nampilkan keluaran yang diinginkan ? Langkah ke-4 dan ke-5 bisa dilakukan berulang-ulang sampai program yang diyakini benar-benar berjalan sesuai dengan yang diharapkan. Menulis Dokumentasi Hal ini biasanya dilakukan bersamaan dengan menulis program, artinya pada setiap baris program atau setiap beberapa baris program, kita menambahkan komentar yang menjelaskan kegunaan dari suatu pernyataan. Dokumentasi ini kelihatannya sepele dan banyak dilupakan orang, padahal fungsinya penting sekali. Di masa mendatang, apabila kita perlu melakukan perubahan atau perbaikan terhadap suatu program, kita akan merasakan pentingnya dokumentasi yang baik. Merawat Program Langkah ini dilakukan setelah program selesai dibuat dan sudah digunakan oleh pengguna kita. Hal yang paling sering terjadi di sini adalah munculnya bug yang sebelumnya tidak

Algoritma & Pemrograman I

11

terdeteksi. Atau mungkin juga pengguna ingin tambahan suatu fasilitas baru. Apabila hal-hal seperti ini terjadi, kita harus melakukan revisi terhadap program tersebut.

Pemrograman
Istilah pemrograman dapat didefinisikan sebagai kegiatan menyusun program dalam suatu bahasa komputer, untuk suatu tujuan pengolahan data tertentu. Kegiatan itu sangat penting, karena hanya berkat program yang jitu sebuah komputer mampu menampilkan kegiatan yang seakan-akan mengungguli otak manusia. Tanpa program, komputer bukan apa-apa. Teknik pemrograman (dan bahasa komputer) senantiasa mengalami kemajuan dan pe nyempurnaan, agar program dapat disiapkan dan dikomunikasikan kepada komputer dengan mudah. Disamping itu hendaklah program sederhana konstruksinya sehingga mudah di modifikasikan untuk mengikuti perkembangan keperluan dan transportable yaitu dapat di pindah dari suatu komputer ke komputer lain menurut perkembangan keadaan.

Algoritma
Istilah algoritma dibentuk dari nama matematikawan Arab terkenal pada abad ke-9, yaitu Abu Jafar Muhammad Ibnu Musa Al-Khowarismi yang menulis buku berjudul Kitab al-Jabr alMuqabala (aturan penulisan dan pengurangan). Ia mengusulkan cara menghitung penjumlah an dua bilangan dengan cara berulang menjumlahkan angka-angka yang membentuknya, dari judul buku tersebut muncul ilmu Aljabar. Ada beberapa definisi algoritma, tetapi di sini kita menggunakan acuan Microsoft Bookshelf : Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika Dalam kehidupan sehari-hari, sebenarnya kita juga menggunakan algoritma untuk melakukan sesuatu. Sebagai contoh, kita ingin menulis surat, maka kita perlu melakukan beberapa langkah berikut : 1. 2. 3. 4. 5. Mempersiapkan kertas dan amplop. Mempersiapkan alat tulis, seperti pena atau pensil. Mulai menulis. Memasukkan kertas ke dalam amplop. pergi ke kantor pos untuk mengeposkan surat tersebut.

Langkah-langkah dari nomor 1 sampai dengan nomor 5 di atas itulah yang disebut dengan algoritma. Jadi sebenarnya kita sendiri juga sudah menggunakan algoritma baik sadar maupun tidak sadar.

Algoritma & Pemrograman I

12

Contoh 1 : Algoritma Berikut ini adalah contoh algoritma untuk memecahkan masalah matematika. Misalkan kita ingin menghitung luas lingkaran dari masukan berupa jari-jari lingkaran. Rumus luas lingkaran adalah : L = R 2 Berikut ini adalah contoh algoritma untuk menghitung luas lingkaran : 1. 2. 3. 4. Masukkan R. PI 3.14. L PI * R * R. Tulis L.

Perhatikan terdapat tanda pada baris kedua dan ketiga. Tanda ini berarti nilai di sebelah kanan diberikan pada operan di sebelah kiri. Sebagai contoh, untuk baris kedua, nilai 3.14 diberikan pada variabel PI. Berikutnya, nilai PI * R * R diberikan pada variabel L. Baris pertama dari algoritma di atas meminta masukkan dari pengguna berupa jari-jari lingkaran yang disimpan pada variabel R. Pada baris kedua nilai disimpan pada variabel dengan PI. Baris ketiga menghitung luas lingkaran dengan rumus R2 atau yang dituliskan PI * R * R. Luas lingkaran ini disimpan pada variabel L. Baris terakhir menuliskan luas lingkaran tersebut.

Flowchart
Flowchart untuk suatu program adalah suatu diagram yang menggambarkan susunan serta logika program tersebut. Flowchart dapat membantu kita untuk memahami suatu program yang ada, ataupun memberikan gambaran dari arus pelaksanaan program. Flowchart ter utama penting untuk program-program yang cukup rumit. Flowchart menggunakan simbol-simbol geometrik seperti yang nampak pada Gambar 3-1 dan juga simbol-simbol matematik yang nampak pada Gambar 3-2, yang menggambarkan secara grafis urutan yang ada pada sebuah program.

Untuk menyatakan awal serta akhir dari program (Start or stop program).

Simbol untuk proses perhitungan (Processing).

Untuk statement OUPUT.

menyatakan INPUT atau

Simbol (Decision).

pengecekan

Garis alur (flowline)

Algoritma & Pemrograman I

13

Penghubung (connecter) pada halaman yang sama

Penghubung (connecter) pada halaman yang lain

Untuk menyetakan statemen PRINT

Gambar 3 -

Simbol-simbol geometrik

Symbol < > =

Lebih (Less than) Lebih kecil atau sama dengan Lebih besar dari (Greater than) Lebih besar atau sama dengan Sama dengan (Equal to) Tidak sama dengan (Not equal to)
Simbol-simbol matematik

Meaning kecil dari

Gambar 3 -

Contoh 2 : Flowchart Dibawah ini kita lihat contoh flowchart yang menggambarkan tentang proses pengambilan keputusan tentang makan siang. Apakah akan makan siang dengan sayur asem atau dengan gado-gado atau tidak makan siang. Lihat Gambar 3-3.

Start

Say ur ase m No

Yes

Buat sayur asem

Makan sayur asem

Gad ogad o No

Yes

Buat Gadogado

Makan Gado-gado

Stop

Algoritma & Pemrograman I

Tidak makan siang

14

Gambar 3 -

Diagram alir (flowchart)

Biasanya untuk memudahkan memahami algoritma, orang menggambarkan suatu diagram alir (flowchart). Gambar 3-4 adalah contoh diagram alir untuk contoh algoritma penghitung luas lingkaran.
Start

Masukka nR

PI = 3.14

L = PI * R * R

Tulis L

Selesai Gambar 3 Flowchart algoritma penghitung luas lingkaran.

TIGA STRUKTUR KENDALI DASAR Penganjur pemrograman terstruktur telah menunjukkan bahwa setiap program dapat disusun dari tiga struktur kendali dasar, yaitu : 1. Urutan (sequence). Urutan adalah serangkaian prosedur-prosedur yang berurutan satu dengan yang lain 2. Pilihan (selection). Pilihan (sering disebut IF THEN ELSE) adalah struktur kendali yang menyangkut satu kondisi tertentu. 3. Proses berulang (looping). Adalah satu operasi yang berulang-ulang sampai kondisi dipenuhi.

Algoritma & Pemrograman I

15

Diagram alir dari tiga kendali dasar dapat dilihat pada Gambar 3-5 berikut ini :

Procedure 1

True (Yes)

Procedure 2

? Condi tion

False( No)

Procedure 1

Procedure 2

Procedure 3

Urutan (sequence) (selection)

Percabangan

pilihan

Procedure

Procedure

? Condi tion

True (Yes)

? Condi tion True (Yes)

False (No)

DOWHILE

DOUNTIL Pengulangan / Looping / Iteration


Gambar 3 - Diagram alir tiga kendali dasar

Contoh 3 : Percabangan

Algoritma & Pemrograman I

16

Contoh berikut ini adalah algoritma untuk menuliskan nilai absolut dari nilai yang dimasukkan pengguna. Definisi dari nilai absolut adalah sebagai berikut ;
x = x, jik x 0 a <0 x = , jik x x a

Berikut ini adalah algoritma untuk menuliskan nilai absolut dari masukan pengguna : 1. 2. 3. 4. Masukkan x. Jika x < 0 maka kerjakan baris 3, jika tidak kerjakan baris 4. x x. Tulis x.

Baris 1 meminta masukkan suatu bilangan dari pengguna yang disimpan pada variabel x. Baris 2 mengecek nilai variabel x lebih kecil dari 0 atau tidak. Jika ya, yang dikerjakan adalah baris 3, tetapi jika tidak yang dikerjakan adalah baris keempat. Baris ketiga membuat nilai x menjadi positif, karena baris ini hanya dikerjakan jika nilai x lebih kecil dari 0. Baris terakhir menuliskan nilai x yang selalu positif. Gambar 3-6 adalah contoh diagram alir untuk algoritma di atas.

Mulai Masukk an x

x< 0? x = x

Tulis x Mulai Gambar 3 Flowchart algoritma menuliskan nilai absolut.

Contoh 4 : Pilihan / selection Contoh penggunaannya adalah pada Gambar 3-6. Flowchart ini untuk menghitung pembagian gaji bagi tenaga penjualan. Tenaga penjualan dibayarkan berdasarkan atas dasar komisi yaitu
Algoritma & Pemrograman I

17

dari % tertentu dari penjualan. Apabila mereka menjual lebih dari 10.000 unit, akan mendapatkan bonus 100.
Start

1
Read an employee record Any more recor d? No Stop

Yes

No

Any more recor d?

Yes

Bonus = $0

Bonus = $100

Compute commission = rate times units sold

Add commission to bonus giving payment due Print employee name and payment due Gambar 3 - Flowchart untuk menghitung gaji bagi tenaga penjualan.
Algoritma & Pemrograman I

1 18

Contoh 5 : Pengulangan Algoritma untuk menghitung rata-rata dari sekumpulan data yang dimasukkan pengguna. Rumus mencari rata-rata dari data xi yang berjumlah N adalah sebagai berikut :

x=

x
i =1

berikut ini adalah algoritma untuk menghitung rata-rata data yang dimasukkan pengguna : 1. 2. 3. 4. 5. 6. 7. 8. 9. Masukkan N. i 1. j 0. Selama i N kerjakan baris 4 sampai dengan 7. Masukkan dt. i i + 1. j j + dt. Rata j / N Tulis Rata.

Baris pertama meminta pengguna memasukkan N, yaitu jumlah data. Pada baris kedua, variabel i, yang berguna sebagai pencacah banyaknya data yang telah dimasukkan pengguna, diberi nilai 1. Pada baris ketiga, variabel j, yang digunakan untuk menyimpan hasil penjumlahan data, diberi nilai 0. Baris keempat memberikan perintah untuk mengulangi baris keempat sampai dengan baris ketujuh selama i kurang dari atau sama dengan N. Dengan kata lain, setelah i lebih besar dari N, baris kedelapan yang dijalankan. Baris kelima meminta masukkan data yang ke-i. Baris keenam menambah variabel i dengan 1. Perhatikan arti dari perintah i i + 1 adalah nilai i ditambah dengan 1 kemudian hasilnya disimpan pada variabel i kembali. Baris ketujuh menambah variabel j dengan data yang dimasukkan pengguna. Variabel j diguna kan untuk menyimpan hasil penjumlahan semua data, jadi untuk setiap masukan data, nilai variabel j harus ditambah dengan dt. Baris kedelapan menghitung rata-rata dengan cara membagi hasil penjumlahan dengan banyaknya data.

Algoritma & Pemrograman I

19

Baris terakhir menuliskan rata-rata tersebut. Gambar 3-8 adalah diagram alir untuk algoritma Contoh 5 di atas.
Mulai Masukkan N i=1 J=0 Selama i N Masukkan dt

i=i+1 J = j + dt

Rata = j / N

Tulis Rata Selesai Gambar 3 - Flowchart untuk Contoh 5 algoritma menghitung rata-rata sekumpulan data.

Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa komputer. Oleh karena itu, banyak pemrogram yang sudah berpengalaman tidak pernah menuliskan algoritma di atas kertas lagi. Artinya dia menuliskan algoritma itu di dalam kepalanya dan dia langsung memprogram berdasarkan algoritma di kepalanya.

Algoritma & Pemrograman I

20

Soal-soal dengan penyelesaian 1. Suatu segitiga mempunyai sisi-sisi A = 9.2, B = 14.4 dan C = 18.8, maka rumus untuk menghitung keliling dan luas segitiga adalah :
KELILING = A + B + C KELILING S = 2 LUAS = S ( S A)( S B )( S C )

a. Buatlah algoritma untuk menghitung keliling dan luas segitiga tersebut. b. Konversikan algoritma yang telah dibuat ke bentuk diagram alir (flowchart). Penyelesaian : a. Algoritma untuk menghitung keliling dan luas segitiga. 1. 2. 3. 4. 5. Baca A, B , C KELILING A + B + C S KELILING / 2 LUAS (S(S A)(S B)(S C)) Tulis KELILING, LUAS

b. Diagram alir (flowchart)


Mulai Baca A, B, C Hitung KELILING = A + B + C S = KELILING / 2 LUAS = (S(S A)(S B) (S C)) Tulis KELILING, LUAS Selesai

Algoritma & Pemrograman I

21

2. Buatlah algoritma dan diagram alir untuk menyusun hasil keluaran dalam skala Reamur dan Fahreinheit untuk nilai-nilai Celcius mulai dari 5 sampai dengan 100 dengan kenaikan 5. Rumus yang dipergunakan :
C 4 5 C F = 9 + 32 5 R=

a. Algoritma untuk menyusun hasil keluaran Celcius dalam Reamur dan Fahrenheit. 1. 2. 3. 4. 5. 6. 7. 8. Mulai C 0.0 C C + 5 R C / 5 * 4 F C / 5 * 9 + 32 Tulis R, F, C Jika C < 100 maka kerjakan baris 2, jika tidak kerjakan baris 8 Selesai

c. Diagram alir / flowchart :


Mulai C = 0.0 C=C+ 5 R=C/5*4 F=C/5*9+ 32 Tulis R, F, C Ya

C< 100 ? Tidak Selesai

Algoritma & Pemrograman I

22

3. Kita bermaksud menetapkan apakah seorang mahasiswa lulus atau gagal dalam suatu mata kuliah setelah menempuh 2 kali ujian. Ketentuannya lulus jika nilai rata-ratanya lebih besar dari 54, selain itu dinyatakan gagal. Penyelesaian : a. algoritma Lulus gagal 1. 2. 3. 4. 5. 6. 7. Mulai Baca N1, N2 X = (N1 + N2) / 2 Jika X > 54 kerjakan baris 5, jika tidak kerjakan baris 6 Tulis Mahasiswa lulus Tulis Mahasiswa gagal Selesai

b. Diagram alir / flowchart Lulus gagal


Selesai Baca N1, N2 Hitung X = (N1 + N2) / 2 Ya

X> 54 ? Tidak Tulis Mahasiswa Gagal

Tulis Mahasiswa Lulus

Selesai

Algoritma & Pemrograman I

23

Anda mungkin juga menyukai