• Tidak ada hasil yang ditemukan

BAB I PENDAHULUAN Konsep Algoritma

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB I PENDAHULUAN Konsep Algoritma"

Copied!
31
0
0

Teks penuh

(1)

BAB I PENDAHULUAN

1.1. Konsep Algoritma

Penyelesaian permasalahan dengan menggunakan alat bantu sistem komputer paling tidak akan melibatkan lima tahapan, yaitu:

1. Analisis masalah 2. Merancang algoritma 3. Membuat program komputer 4. Menguji hasil program komputer 5. Dokumentasi

Tahapan-tahapan tersebut dapat dikelompokkan menjadi dua, yaitu fase penyelesaian permasalahan (problem solving phase) dan fase implementasi (implementation phase). Fase penyelesaian permasalahan, terdiri atas dua langkah paling awal, yaitu:

1. Analisis masalah, dan 2. Merancang algoritma

Sedangkan fase implementasi meliputi tiga langkah berikutnya, yaitu: 3. Membuat program komputer (coding),

4. Menguji hasil program komputer (debuging), dan 5. Dokumentasi (documentation)

Langkah pertama, yaitu analisis masalah merupakan langkah paling awal untuk mengetahui lebih jauh tentang permasalahan yang akan diselesaikan dengan menggunakan alat bantu sistem komputer. Langkah ini bertujuan untuk menemukan ide-ide kemungkinan solusi terhadap permasalahan.

Langkah kedua, yaitu merancang algoritma dilakukan dengan tujuan utama sebagai berikut:

a. Menentukan ide solusi b. Menyatakan algoritma

(2)

c. Memvalidasi algoritma d. Menganalisis algoritma

Ide solusi merupakan ide prosedur / urutan proses penyelesaian permasalahan secara global. Selanjutnya prosedur global tersebut perlu dirinci menjadi serangkaian langkah terstruktur yang lebih terperinci dan dinyatakan dalam bentuk algoritma.

Validasi algoritma diperlukan untuk menguji validitas prosedur yang telah dinyatakan dalam algoritma terhadap seluruh kemungkinan data yang di-input-kan. Sedangkan analisis algoritma dimaksudkan untuk mengetahui tingkat efisiensi proses dalam algoritma, yang berkaitan dengan efisiensi waktu dan efisiensi penggunaan memori dalam sistem komputer.

Untuk itu prosedur penyelesaian permasalahan dalam bentuk algoritma harus memenuhi kriteria berikut:

1. Setiap langkah harus bersifat pasti / tertentu (definite) 2. Minimal menghasilkan sebuah output

3. Bersifat terstruktur dan sistematis

4. Memiliki kriteria untuk menghentikan proses

Namun demikian, untuk memenuhi kriteria sebagai algoritma yang baik, maka ada kriteria tambahan yang harus dipenuhi, sehingga secara keseluruhan algoritma yang baik harus bersifat efisien, baik dari sisi waktu maupun penggunaan memori dalam sistem komputer.

Hasil akhir fase penyelesaian permasalahan, adalah sebuah solusi dalam bentuk algoritma. Istilah algoritma sendiri dapat diartikan sebagai himpunan berhingga langkah-langkah / prosedur-prosedur logika yang harus dilaksanakan untuk menyelesaikan suatu permasalahan yang berorientasi pada pemrograman komputer. Tujuan algoritma adalah memberikan petunjuk tentang langkah-langkah logika penyelesaian permasalahan dalam bentuk yang mudah dipahami nalar manusia sebagai acuan yang membantu dalam mengembangkan program komputer. Pemahaman tentang algoritma akan mencegah sejak dini

(3)

kemungkinan terjadinya kesalahan logika pada program komputer yang dikembangkan.

Untuk mencapai tujuan di atas terdapat lima syarat yang harus dipenuhi dalam algoritma, yaitu :

1. Logika prosedur pada algoritma harus cukup mudah dipahami nalar manusia

2. Validitas prosedur pada algoritma dapat ditelusuri dengan mudah 3. Tidak menimbulkan kerancuan interpretasi bagi orang lain

4. Prosedur pada algoritma harus cukup mudah dikonversi ke program komputer

5. Prosedur pada algoritma tidak terpengaruh / bergantung pada bahasa pemrograman apapun

Pada dasarnya tidak ada aturan yang baku tentang cara menuliskan solusi dalam bentuk algoritma. Namun demikian, agar solusi bentuk algoritma dapat digunakan dengan baik, maka umumnya dapat dinyatakan dalam dua kemungkinan bentuk, yaitu:

a. Bentuk uraian / deskriptif atau pseudocode

b. Bentuk gambar, yaitu menggunakan simbol-simbol grafis dalam bentuk bagan alir (flowchart)

Solusi dalam bentuk algoritma sangat diperlukan dan banyak membantu dalam menyelesaikan permasalahan komputasi, karena umumnya kesulitan-kesulitan sering dijumpai dan kesalahan-kesalahan akan banyak timbul jika suatu permasalahan diselesaikan secara langsung dalam bentuk program komputer.

Pada beberapa kasus, sering terjadi bahwa suatu permasalahan yang diselesaikan sesuai prosedur yang dikembangkan (yang dianggap sudah benar) ternyata masih dijumpai kesalahan pada hasil yang diberikan. Jika terjadi demikian, maka telusuri dan periksa kembali prosedur yang telah dibuat. Perbaiki pada bagian yang ditemukan kesalahan, kemudian periksa kembali dengan mencoba menerapkannya dalam berbagai macam kemungkinan kasus lain hingga akhirnya tidak ditemukan kesalahan.

(4)

Sebagai dasar pemahaman awal Gambar 1.1 menunjukkan hubungan antara suatu permasalahan, algoritma, dan program komputer.

Permasalahan

Solusi dalam bentuk program komputer

Solusi dalam bentuk Algoritma

Mudah & sedikit kesalahan

Problem solving phase

Implementation phase Sulit & banyak

kesalahan

Gambar 1.1 : Hubungan antara suatu permasalahan, algoritma, dan program komputer

Kemungkinan lain juga dapat terjadi, yaitu algoritma yang dikembangkan telah benar, namun langkahnya masih terlalu panjang, sehingga prosedurnya tidak efisien. Untuk memperbaikinya dapat dilakukan dengan cara melakukan modifikasi pada beberapa bagian dari prosedur yang dapat diselelesaikan secara lebih cepat dan efisien. Selain mengurangi langkah yang tidak efisien, cara lain yang dapat dilakukan adalah mengubah logika prosedur penyelesaian permasalahan secara menyeluruh.

Kenyataannya kedua cara tersebut memang lazim dijumpai. Jika prosedur penyelesaian telah ditetapkan, modifikasi prosedur terinci masih dapat terjadi untuk mencapai efisiensi operasi agar optimal pada algoritma yang dikembangkan. Namun demikian, tidak dapat dipungkiri bahwa algoritma baru dengan efisiensi yang lebih baik terus bermunculan.

(5)

Dari semuanya itu, dapat dipahami bahwa selain kemungkinan adanya banyak metoda penyelesaian permasalahan yang menyediakan banyak alternatif pilihan, metoda-metoda baru akan tetap bermunculan seiring dengan kemajuan ilmu pengetahuan yang banyak mendukung proses perkembangan dalam dunia ilmu algoritma. Bahkan tidak tertutup kemungkinan bahwa suatu bentuk algoritma yang telah lazim digunakan dan dianggap memiliki akurasi dan efisiensi yang baik akan digantikan oleh algoritma baru yang lebih baik.

1.2. Program komputer

Langkah ketiga dalam proses penyelesaian permasalahan menggunakan alat bantu komputer adalah membuat program komputer. Langkah ini dimaksudkan sebagai untuk mengkonversi solusi bentuk algoritma menjadi solusi dalam bentuk program komputer yang dikembangkan berdasarkan algoritma yang telah disusun sebelumnya. Dalam hal ini, program komputer dapat diartikan sebagai rangkaian intruksi / perintah yang harus dilaksanakan oleh komputer untuk mencapai tujuan dengan menggunakan bahasa yang dapat dipahami oleh sistem komputer. Bahasa yang digunakan tersebut disebut sebagai bahasa pemrograman.

Bahasa pemrograman diperlukan karena manusia mempunyai bahasa awam dalam kehidupan sehari-hari, yang sering dinyatakan sebagai rangkaian kode berupa huruf A, B, C, .. Z, 0, 1, .. 9 dan simbol-simbol khusus lainnya (+, -, *, / dan lainnya). Sedangkan komputer yang tersusun atas sekelompok benda mati berupa komponen elektronik hanya mampu mengetahui dua macam kondisi, yaitu ada tegangan yang dikodekan sebagai 1 (satu) dan tidak ada tengangan yang dikodekan sebagai 0 (nol). Kombinasi kode-kode 1 dan 0 tersebut selanjutnya dikenal sebagai kode biner.

Kondisi bahwa bahasa manusia jauh berbeda dengan bahasa komputer memerlukan adanya bahasa yang mampu menjembatani antara bahasa manusia dan bahasa komputer. Di sinilah peran bahasa pemrograman komputer sebagai antarmuka yang memungkinkan terjadinya komunikasi antara manusia dan

(6)

komputer. Bahasa komputer dikembangkan mengarah pada bahasa awam manusia, sehingga lebih mudah untuk dipahami oleh manusia. Dan agar bahasa tersebut dapat diketahui oleh komputer, maka setiap bahasa pemrograman akan dilengkapi dengan dengan penterjemah (compiler / interpreter).

Program komputer dikembangkan dengan tujuan utama mengolah data yang di-input-kan dan menghasilkan output berupa informasi yang bermanfaat. Informasi terebut merupakan solusi dari permasalahan yang akan diselesaikan. Terlepas dari bahasa pemrograman manapun yang akan digunakan, penyusunan program komputer akan memerlukan keterangan-keterangan yang berkaitan dengan hal-hal sebagai berikut:

1. Data apa yang akan diproses / tersedia, hal ini diperlukan untuk menentukan tipe data yang diperlukan oleh program komputer

2. Bagaimana meng-inputkan data, hal ini diperlukan untuk menentukan jenis intruksi input yang akan digunakan

3. Di mana data diletakkan, hal ini diperlukan untuk menentukan variabel-variabel yang perlu disediakan dalam program komputer

4. Operator apa saja yang dapat digunakan / diperlukan, hal ini diperlukan untuk menentukan operator-operator apa saja yang diperlukan oleh program komputer

5. Bagaimana urutan instruksi disusun, hal ini diperlukan untuk menentukan jenis proses yang diperlukan (urutan, Kondisional / percabangan, perulangan)

6. Bagaimana menyampaikan infromasi hasil pengolahan, hal ini akan menentukan jenis intruksi output yang akan digunakan

Sebuah program komputer yang baik harus memenuhi beberapa kriteria sebagai berikut:

1. Terintegrasi

2. Memiliki logika yang jelas

3. Efisien waktu dan penggunaan memori 4. Prinsip modularitas

5. Keluwesan dalam penggunaan 6. Kesederhanaan

(7)

Langkah keempat, dalam proses penyelesaian permasalahan menggunakan alat bantu komputer adalah menguji program. Sebuah program komputer yang selesai dikembangkan perlu diuji dengan tujuan untuk memastikan bahwa program telah berjalan sesuai dengan prosedur dalam algoritma dan memberikan hasil yang valid untuk semua kemungkinan kasus data yang di-input-kan. Proses pengujian program dan membetulkannya jika terjadi kesalahan tersebut disebut sebagai proses debuging.

Kesalahan yang lazim terjadi dalam sebuah program komputer adalah:

1. Kesalahan logika, kesalahan ini akan memberikan kesalahan output / informasi yang dihasilkan, sekalipun program bisa berjalan

2. Kesalahan sintaks, kesalahan ini umumnya akan terdeteksi dan diinformasikan oleh bahasa pemrograman yang digunakan tentang letak kesalahannya

Langkah kelima / terakhir dalam dalam proses penyelesaian permasalahan menggunakan alat bantu komputer adalah dokumentasi (documentation). Dokumentasi diperlukan dengan tujuan untuk memberikan informasi pemakaian program komputer bagi para pemakai, atau pengembang berikutnya. Dokumentasi program komputer dapat dimunculkan dalam bentuk-bentuk sebagai berikut:

1. Fungsi bantuan dalam program 2. Manual program

3. Komentar-komentar di dalam tubuh program

1.3. Konsep Program Terstruktur

Program terstruktur adalah suatu teknik pemrograman dimana jika suatu proses telah dikerjakan sampai pada suatu titik tertentu, maka proses berikutnya tidak bisa melompat kembali atau melakukan proses pada baris sebelumnya, kecuali untuk proses berulang. Sebagai contoh, dalam bahasa pemrograman BASICA terdapat salah satu instruksi GO..TO yang mempunyai fungsi untuk melompatkan

(8)

proses ke sembarang tempat, baik pada baris sebelumnya yang berada diatasnya maupun melompat ke baris yang ada jauh dibawahnya. Jika instruksi tersebut banyak digunakan dengan arah lompatan yang tidak teratur, maka proses dalam program menjadi tidak terstruktur. Bahasa pemrograman seperti ini dikenal sebagai bahasa pemrograman tidak terstruktur (non structured programming language). Dalam banyak kesempatan, penggunaan teknik pemrograman terstruktur (structured programming language) banyak memberikan keuntungan, antara lain:

1. Penulisan program aplikasi menjadi lebih teratur 2. Program tersusun secara sistematis

3. Program tersusun secara terstruktur 4. Lebih mudah dipahami

5. Urutan / alur proses dalam program aplikasi menjadi sederhana dan mudah dimengerti, sehingga tidak membingungkan bagi orang lain

Beberapa contoh bahasa pemrograman terstruktur adalah Pascal, Turbo Pascal, C, Turbo C, C++, dan bahasa-bahasa pemrograman lain yang telah banyak muncul dalam berbagai versi yang terus diperbaharui dan telah kita kenal selama ini. Semua macam bahasa pemrograman yang dikembangkan dewasa ini telah mendukung teknik pemrograman terstruktur.

1.4. Struktur Proses Dalam Algoritma

Secara umum, struktur proses dalam algoritma dapat dikelompokkan menjadi tiga macam, yaitu:

1. Proses berurutan (sequence) 2. Proses seleksi (selection) 3. Proses perulangan (looping)

(9)

1.4.1. Proses Berurutan (Sequence)

Proses berurutan adalah suatu prosedur proses dalam algoritma yang dilakukan secara urut langkah demi langkah. Umumnya, proses berurutan memuat serangkaian prosedur pengolahan data yang terdiri atas:

1. Pemasukan data (input) 2. Pengolahan data (processing) 3. Penampilan informasi (output)

Gambar 1.2. menunjukkan struktur proses berurutan dalam algoritma.

Mulai Langkah 1 Langkah 2 Langkah 3 …. Langkah N Input Langkah N+1 Langkah N+2 Langkah N+3 …. Langkah N+N Processing Langkah N+N+1 Langkah N+N+2 Langkah N+N+3 …. Langkah N+N+N Selesai Output

Gambar 1.2 : Struktur proses berurutan

Contoh struktur proses berurutan adalah sebagai berikut: Permasalahan:

Menghitung luas persegi panjang 1. Mulai

2. Membaca data Panjang, Lebar 3. Menghitung Luas

Luas = Panjang x Lebar 4. Mencetak Hasil

(10)

Luas 5. Selesai

1.4.2. Proses Seleksi (selection)

Proses seleksi dalam program mempunyai dua kemungkinan struktur. Struktur seleksi pertama dapat dituliskan sebagai berikut:

IF SyaratLogika THEN Instruksi

SyaratLogika adalah operasi relasi (seleksi kondisi) yang apabila bernilal TRUE (benar) maka instruksi setelah THEN akan dilaksanakan. Sebaliknya, apabila SyaratLogika bernilai FALSE (salah) maka instruksi setelah THEN tidak akan dikerjakan.

Kemungkinan struktur seleksi yang kedua adalah sebagai berikut: IF SyaratLogika THEN Instruksi1

ELSE Instruksi2

Sebagaimana di atas, SyaratLogika adalah operasi relasi (seleksi kondisi) yang apabila bernilal TRUE (benar) maka Instruksi1 setelah THEN akan dilaksanakan, apabila SyaratLogika bernilai FALSE (salah) maka Instruksi2 setelah ELSE yang akan dikerjakan.

1.4.3. Proses Perulangan (Looping)

Perulangan (looping) adalah suatu proses yang melakukan eksekusi suatu program secara berulang-ulang pada suatu blok instruksi tertentu yang terkendali. sebagai contoh, untuk mengurutkan sejumlah data maka harus dilakukan proses perulangan untuk melakukan pengecekan harga-harga data dan kemudian menempatkan sesuai dengan posisinya masing-masing. Dalam proses pencarian data pada suatu kumpulan data, proses perulangan adalah diperlukan untuk mengecek setiap data yang ada dalam kumpulan data untuk

(11)

disesuaikan dengan harga yang dicari. Selain kedua contoh tersebut masih banyak contoh kasus pengolahan yang akan melibatkan proses perulangan.

Setiap bahasa pemrograman menyediakan fasilitas untuk melakukan proses perulangan dalam sintaks instruksit dan penggunaan yang bervariasi. Sebagai contoh, dalam bahasa Fortran, dikenal adanya instruksit kontrol yang dapat dipergunakan untuk melaksanakan proses perulangan yaitu GO..TO, IF, dan DO..CONTINUE, sedangkan dalam bahasa Pascal dikenal adanya instruksit WHILE..DO, REPEAT..UNTIL, FOR..TO..DO, serta FOR..DOWNTO..DO. Dalam bahasa pemrograman yang lain, proses perulangan dapat diekspresikan dalam bentuk dan sintaks yang berbeda sesuai dengan bahasa pemrograman masing-masing.

Fasilitas kontrol perulangan merupakan kebutuhan penting, karena hampir setiap program aplikasi tak pernah terlepas dari proses perulangan. Hal ini bisa terjadi karena cacah data yang akan diolah adalah cukup banyak, atau mungkin kebutuhan prosedur.

Untuk memahami secara lebih mendalam tentang instruksit, aturan penulisan, dan penggunaan instruksit perulangan pada bahasa-bahasa pemrograman, dapat dipelajari buku-buku bahasa pemrograman yang saat ini telah banyak beredar di pasaran. Oleh karenanya, sekalipun proses dan instruksit perulangan tidak dibahas secara terinci dalam buku ini, diharapkan tidak menimbulkan kesulitan dalam menerapkan algoritma-algoritma yang memuat proses perulangan.

Dalam penerapannya seringkali dijumpai adanya suatu proses perulangan yang dilakukan secara bersarang (nested loop), yaitu suatu blok proses perulngan yang berada dalam suatu blok proses perulangan yang lain. Dengan demikian akan dikenal adanya perulangan dalam (inner loop) yaitu proses perulangan yang berada dalam proses perulangan yang lain dan perulangan luar (outer loop) yaitu proses perulangan yang didalamnya memuat satu atau lebih proses perulangan. Struktur proses perulangan bersarang ditunjukkan pada Gambar 1.7. Dalam gambar tersebut, blok-1 merupakan outer loop dari blok-2 dan blok-3.

(12)

Blok-2 merupakan inner loop dari blok-1 dan sekaligus sebagai outer loop dari blok-3. Blok-3 merupakan inner loop dari blok-2 dan blok-3.

Proses berulang blok-1 Instruksi-instruksi blok-1 .

. .

Proses berulang blok-2 Instruksi-instruksi blok-2

. . .

Proses berulang blok-3 Instruksi-instruksi blok-3 .

. .

Akhir proses blok-3

. .

Akhir proses blok-2 .

.

Akhir proses blok-1

inner loop 1 inner loop 2 outer loop 2

Gambar 1.3 : Struktur proses perulangan bersarang

1.5. Data Komputasi

Sebagaimana telah kita ketahui, sistem komputer sekalipun merupakan hasil teknologi tingkat tinggi yang canggih, pada dasarnya merupakan benda mati yang tersusun atas rangkaian komponen elektronik yang hanya akan mampu menerima masukan, memproses, dan menghasilkan keluaran berdasarkan intruksi-intruksi dalam bentuk kode biner 0 (nol) dan 1 (satu). Berdasarkan kombinasi digit 0 dan 1 itulah komputer akan dapat bekerja.

Dengan demikian setiap perintah yang dimasukkan ke komputer melalui piranti masukan berupa papan ketik atau piranti masukan yang lain harus diubah menjadi kode biner. Sungguh sangat sulit dibayangkan seandainya kita harus

(13)

menuliskan intruksi-intruksi dalam kode biner 0 dan 1 tersebut. Untuk menghilangkan kesan yang rumit tersebut, para ahli berusaha mengembangkan berbagai macam perangkat lunak (software) komputer. Secara umum, jenis perangkat lunak komputer dapat dibedakan menjadi tiga komponen golongan utama, yaitu :

1. Perangkat lunak sistem operasi (Operating System / OS) 2. Perangkat lunak bahasa pemrograman (Language Software) 3. Perangkat lunak aplikasi (Application Software)

Perangkat lunak sistem operasi dikembangkan dengan tujuan utama untuk mengendalikan perangkat keras bagian-bagian sistem komputer selama proses berlangsung. Beberapa contoh perangkat lunak sistem operasi terkenal dan banyak digunakan hingga saat ini adalah IBM PC-DOS, MS-DOS, Windows, UNIX, dan LINUX.

Perangkat lunak bahasa pemrograman dikembangkan sebagai alat bantu untuk mengembangkan program aplikasi yang sesuai dengan kebutuhan pemakai. Sedangkan perangkat lunak aplikasi merupakan perangkat lunak program aplikasi yang dikembangkan menggunakan perangkat lunak bahasa pemrograman tertentu sebagai suatu paket perangkat lunak yang siap dipakai untuk aplikasi-aplikasi khusus sesuai tujuan pengembangannya.

Perangkat lunak bahasa pemrograman dapat digolongkan menjadi tiga level, yaitu :

1. Bahasa pemrograman tingkat rendah (low level language). 2. Bahasa pemrograman tingkat tinggi (high level language).

3. Bahasa pemrograman tingkat sangat tinggi (very high level language)

Contoh perangkat lunak bahasa pemrograman tingkat rendah adalah bahasa mesin (machine language). Yang dimaksud dengan istilah mesin di sini adalah mesin komputer atau bagian pengolah (processor) yang lebih dikenal dengan sebutan CPU (Central Processing Unit). Bahasa mesin hanya akan dikenali oleh jenis prosessor tertentu yang sama. Jenis prosesor lain tidak akan dapat mengenali bahasa mesin yang digunakan oleh jenis prosesor yang berbeda.

(14)

Oleh karena itu, bahasa mesin selalu dibuat dan telah disertakan menjadi satu (built in) dalam prosesor.

Perangkat lunak bahasa pemrograman tingkat tinggi merupakan bahasa yang mudah dipahami oleh orang awam. Contoh perangkat lunak bahasa pemgrograman tingkat tinggi adalah bahasa-bahasa pemrograman yang bayak kita kenal selama ini adalah Basic, Basica, GWBasic, Mbasic, Turbo Basic, Qbasic, Cobol, Fortran, C, C++, Turbo C, Pascal, Turbo Pascal dan lain-lain. Setiap jenis perangkat lunak bahasa pemrograman mempunyai keunggulan dan kelemahan yang berbeda-beda, sesuai dengan orientasi dan tujuan pengembangan perangkat lunak bahasa pemrograman tersebut. Perbedaan juga terjadi pada macam perintah / instruksi, aturan penulisan, dan kelengkapan fasilitas untuk melakukan manipulasi data yang disediakan. Sehingga pada akhirnya, setiap jenis perangkat lunak bahasa pemrograman tingkat tinggi akan mempunyai kesesuaian penggunaan yang berbeda-beda pula.

Sebagai contoh, bahasa Fortran merupakan kependekan dari Formula Translation sesuai digunakan untuk pengolahan data yang banyak melibatkan rumus-rumus perhitungan matematis. Bahasa Cobol merupakan kependekan dari Common Business Oriented sesuai digunakan untuk pengolahan data administrasi bisnis. Bahasa Basic merupakan kependekan dari Beginner All Purpose Symbolic Instruction Code sesuai untuk para pemula yang akan belajar pemrograman komputer.

Bahasa pemrograman tingkat tinggi telah mengalami perkembangan yang pesat dan secara umum dapat dibagi dalam 3 kelompok, yaitu:

1. Konvensional, tanpa ada aturan tertentu 2. Terstruktur

⇒ mengandung teknik pemecahan masalah yang tepat dan benar ⇒ memiliki algoritma pemecahan masalah yang sederhana, standar dan

efektif

⇒ penulisan program memiliki struktur logika yang benar dan mudah dipahami

(15)

3. Event driven, OOP, multi threading, dapat melakukan beberapa proses pada saat bersamaan

Contoh bahasa pemrograman tingkat sangat tinggi adalah bahasa query (query language). Bahasa query merupakan perangkat lunak bahasa tingkat sangat tinggi yang dapat digunakan untuk menampilkan informasi-informasi yang diinginkan hanya dengan menuliskan sedikit perintah saja. Contoh bahasa query yang telah tersedia adalah SQL (Structured Query Language) yang dimiliki oleh sebagian besar paket perangkat lunak pengelolaan basis data.

Di antara level perangkat lunak bahasa pemrograman tingkat rendah dan bahasa pemrograman tinggi terdapat suatu bahasa yang dikenal dengan sebutan bahasa rakitan (assembly). Contoh bahasa rakitan adalah bahasa Assembler.

Khusus pada jenis perangkat lunak bahasa pemrograman, saat ini telah tersedia banyak macam bahasa pemrograman tingkat tinggi (high level language) dengan orientasi yang spesifik. Instruksi-instruksi dalam bahasa-bahasa pemrograman tersebut biasanya mudah dipahami. Pemakai dapat memberikan instruksi ke komputer sesuai yang keinginannya dengan menggunakan instruksi-instruksi yang telah disediakan dalam paket perangkat lunak tersebut.

Sekalipun demikian, sekali lagi harus diingat bahwa sebenarnya sistem komputer tetap hanya akan dapat mengerjakan instruksi-instruksi yang dimasukkan jika berada dalam bentuk kode biner 0 (nol) dan 1 (satu) saja. Komputer bisa mengerti tentang program yang ditulis dengan menggunakan perangkat lunak bahasa pemrograman karena masing-masing perangkat lunak bahasa pemrograman dilengkapi dengan suatu penerjemah (compiler) yang digunakan untuk menerjemahkan program yang dibuat dengan suatu bahasa pemrograman tertentu ke dalam bahasa mesin dalam kode biner. Dengan bantuan penerjemah tersebut, maka perintah-perintah dalam program yang dibuat dengan bahasa pemrograman dapat dimengerti dan dilaksanakan oleh komputer. Proses penerjemahan program dalam salah satu bahasa pemrograman disebut sebagai proses kompilasi (Compilation).

(16)

Penerjemah dapat dibedakan menjadi dua jenis, yaitu interpreter dan Compiler. Fungsi dan tugas kedua jenis penerjemah tersebut adalah sama, yaitu mengubah program yang ditulis dalam bahasa pemrograman komputer ke dalam bahasa mesin. Tetapi secara prinsip kedua jenis penerjemah tersebut mempunyai berbeda. Interpreter akan mengubah program sumber (source program) yang ditulis dalam bahasa pemrograman ke dalam bahasa mesin selangkah demi selangkah dimulai pada pada baris paling awal hingga baris paling akhir. Oleh karena itu dengan menggunakan interpreter program yang hendak diubah bahasanya tidak harus selesai dibuat secara keseluruhan terlebih dahulu. Basica merupakan contoh bahasa pemrograman yang menggunakan penerjemah jenis interpreter. Sedangkan compiler akan mengubah bahasa dalam program sumber (source program) yang ditulis dalam bahasa pemrograman ke dalam bahasa mesin sekaligus secara keseluruhan mulai pada baris paling awal hingga baris paling akhir. Oleh karena itu dengan menggunakan compiler program yang hendak diterjemahkan harus selesai dibuat secara keseluruhan terlebih dahulu sebelum di-compile.

Secara terinci, proses menjalankan suatu program yang ditulis dengan bahasa pemrograman hingga menghasilkan keluaran sesuai yang diprogramkan harus melalui tiga tahapan utama, yaitu :

1. Tahap kompilasi (compilation)

Tahap kompilasi merupakan proses menerjemahkan program aplikasi yang ditulis dalam bahasa pemrograman menjadi program dalam bahasa mesin yang disebut Object Program. Program dalam bahasa mesin tersebut masih belum dijalankan / dieksekusi.

2. Tahap penggabungan (link)

Tahap penggabungan merupakan proses menggabungkan program bahasa mesin yang dihasilkan pada tahap 1 dengan beberapa komponen lain yang diperlukan sehingga menjadi program exe (executable machine) yang siap untuk dieksekusi.

3. Tahap eksekusi (execution)

Tahap eksekusi merupakan proses pelaksanaan instruksi dalam program aplikasi yang sesungguhnya. Dalam tahap ini data-data masukan dibaca

(17)

untuk kemudian diproses dan akan memberikan hasil sesuai yang diinginkan sebagaimana tertulis dalam programnya.

Sekalipun proses pengubahan bahasa tersebut harus melalui tiga tahapan, namun karena semua itu dilakukan oleh mesin komputer yang memiliki kecepatan sangat tinggi, maka dalam kenyataannya justru jauh lebih cepat dan lebih praktis daripada yang kita bayangkan. Gambar 1.6 menunjukkan langkah penerjemah dalam mengubah program dalam bahasa pemrograman ke dalam bentuk bahasa mesin sebagaimana dijelaskan di atas.

Source program

Compiler /

Interpreter Object program

Executable machine

Output

Waktu kompilasi

Waktu proses

Gambar 1.4 : Langkah kerja penerjemah

Setiap bahasa pemrograman dilengkapi dengan penerjemah yang berbeda, bahkan untuk setiap versi yang berbeda juga mempunyai compiler khusus yang berbeda dengan versi yang lain. Semakin baru versi bahasa pemrograman akan semakin banyak variasi perintah yang dimiliki, namun tetap mempertahankan perintah dalam versi sebelumnya. Akibatnya, suatu program aplikasi yang ditulis dalam versi yang awal akan dapat diproses oleh compiler dalam versi yang lebih baru, namun tidak demikian sebaliknya. Hal ini dapat dimengerti karena terdapat perintah-perintah dalam versi baru yang tidak dimiliki dan tidak diketahui oleh compiler versi sebelumnya. Tetapi sebaliknya, umumnya perintah-perintah dalam versi yang lebih awal tetap dipertahankan dalam versi yang lebih baru.

(18)

1. 6. Tipe data

Dua permasalahan penting yang perlu diperhatikan dalam data komputasi adalah tentang tipe data dan cara penyimpanannya dalam memori komputer. Setiap bahasa pemrograman mempunyai cara yang berbeda-beda dalam menggolongkan, penggunaan memori, dan memberikan nama pada tipe data. Beberapa penamaan tipe data yang umum digunakan adalah integer, real, karakter, dan logika (boolean).

1. Data integer

Data tipe integer merupakan data untuk angka bulat atau data yang tidak mempunyai titik desimal. Data tipe integer akan disimpan dalam 2 byte dalam memori atau 16 bit (1 byte = 8 bit). Untuk bilangan integer bertanda (signed integer) maka cacah data yang dapat disimpan adalah sebanyak 215 macam. Hal ini karena masing-masing bit hanya mampu menyimpan 2 macam data saja. Dan salah satu bit, yaitu bit paling awal pada 16 bit tersebut digunakan untuk menyimpan tanda (positif atau negatif). Sedangkan untuk bilangan integer tak bertanda (unsigned integer) cacah data yang dapat disimpan adalah sebanyak 216 macam.

Contoh :

Bilangan 10 dalam sistem bilangan desimal, jika disimpan dalam sistem komputer harus dikonversi terlebih dahulu ke dalam bentuk sistem biner yaitu menjadi 0000 0000 0000 1010.

Bilangan 5 dalam sistem bilangan desimal akan disimpan sebagai 0000 0000 0101.

Sedangkan bilangan 15 akan disimpan dengan kode 0000 0000 0000 1111.

2. Data real

Data tipe real merupakan data angka pecahan atau mempunyai titik desimal. Dalam sistem komputer akan disimpan dalam ruang memori sebesar 4 byte atau 32 bit. Data tipe real disimpan dalam bentuk scientific number, dengan format :

(19)

Keterangan,

M : mantisa bulat b : basis bilangan E : eksponen

Basis bilangan dalam sistem komputer adalah biner (karena komputer tersusun atas rangkaian benda mati berupa komponen elektronik), sehingga tidak perlu disimpan secara khusus. Format penyimpanan bilangan real dikenal sebagai format titik mengambang (floating point).

Contoh :

Bilangan desimal 12.5 dalam sistem komputer akan disimpan dengan kode : 1111 1111 0000 0000 0000 0000 0111 1101

Walaupun seolah-olah tidak ada tanda titik pada format penyimpanan sebagaimana tertulis di atas, namun komputer akan mengenalinya sebagai format titik mengambang, dimana byte paling awal yang terdiri atas 8 bit menyatakan eksponen bilangan 12.5 yang dalam format scientific number ditulis sebagai 0.125x102, dan jika disimpan dalam memori komputer maka harga pada masing-masing bit akan menjadi sebagai berikut :

1111 1011 1111 1111 1111 1110 1010 0101

Seperti dalam contoh sebelumnya, maka byte pertama menunjukkan eksponen dan 3 byte berikutnya menunjukkan mantisa.

3. Data karakter

Data tipe karakter merupakan data berupa huruf atau kosong (null). Dalam memori komputer data karakter disimpan dalam 1 byte atau 8 bit. Dengan demikian macam data yang dapat disimpan adalah sebanyak 28 = 256 macam. Dengan cacah macam data sebanyak itu, maka semua macam karakter yang kita kenal selama ini (A .. Z, a .. z) termasuk karakter simbol khusus ($, *, &, ^, (, ), [, ], {, }, @, !, ?, %, dll) akan dapat dikodekan dan

(20)

disimpan menggunakan kombinasi 8 bit yang berbeda dalam kode bit 0 dan 1, hingga seluruhnya berjumlah 256 karakter.

4. Data logika (boolean)

Tipe data logika dikenal pula sebagai data tipe boolean. Dalam tipe data logik hanya terdapat 2 macam data yaitu “benar” (true) dan “salah” (false). Data logik disimpan dalam 1 byte memori yaitu 0000 0000 jika bernilai salah dan 0000 0001 jika bernilai benar.

Sebagai catatan tambahan, untuk menyimpan bilangan-bilangan negatif dalam sistem bilangan biner dilakukan dengan menggunakan metoda komplemen 2. Cara yang dilakukan adalah membalik harga semua bit, yaitu jika semula berharga 1 dibalik menjadi 0 dan sebaliknya 0 menjadi 1, hasilnya kemudian ditambah dengan angka 1 pada bit paling akhir (bit paling kanan). Hasil itulah yang akan disimpan dalam memori komputer.

Sebagai contoh, bilangan 5 disimpan dengan kode 0000 0101, maka bilangan -5 akan disimpan dengan kode 0000 1010, yaitu :

5 = 0000 0101 => 0000 1010

1 +

-5 = 0000 1011

sedangkan bilangan 10 disimpan sebagai 0000 1010, dan bilangan -10 akan disimpan dengan kode , yaitu:

10 = 0000 1010 => 0000 0101

1 + -10 = 0000 0110

Dari kondisi sederhana menggunakan sistem bilangan biner tersebut, maka dengan kecepatannya yang sangat tinggi, komputer mampu menerima dan mengerjakan berbagai macam perintah yang lebih komplek. Ketepatan operasi mesin komputer mengakibatkan komputer menjadi sangat “pintar”, sedangkan

(21)

sebenarnya tetap saja sebagai benda mati yang tidak mengerti instruksi yang dimasukkan kecuali telah diterjemahkan dalam kode 0 dan 1.

5. Data Larik (Array)

Larik merupakan salah satu tipe data terstruktur (structured data) yang mampu menampung sekumpulan data tipe sejenis dalam suatu variabel. Larik dapat tersusun atas sekumpulan rinci data integer, real, atau karakter. Masing-masing komponen penyusun larik / rinci data dalam larik disebut sebagai data elemen.

Data tipe larik banyak dimanfaatkan dalam program aplikasi yang memanipulasi sekumpulan data. Dalam tipe data ini, dimungkinkan untuk melakukan operasi sebagaimana pada data tipe lainnya. Untuk melakukan operasi tersebut, setiap elemen larik harus diidentifikasi berdasarkan suatu indeks. Terdapat banyak kemungkinan variasi cacah indeks yang dapat digunakan pada larik. Banyaknya indeks tersebut tak pernah dibatasi. Satu-satunya batasan yang ada adalah kapasitas memori utama komputer yang digunakan.

Pada dasarnya, data bertipe larik dapat dibedakan dalam dua golongan, yaitu larik dimensi satu dan larik dimensi banyak. Cara penamaan data tipe larik disesuaikan dengan cacah indeks dan sering dikenal sebagai vector. Berikut adalah suatu contoh larik data berdimensi satu yang tersusun atas 6 elemen data yang dinotasikan dengan simbol berupa karakter "A", yaitu :

A1, A2, A3, A4, A5, A6

Larik dimensi banyak mempunyai cacah indeks minimal 2. Yang termasuk larik dimensi banyak antara lain adalah larik dimensi dua, larik dimensi tiga, larik dimensi empat dan lainnya. Cacah indeks dalam larik tidak pernah dibatasi kecuali oleh kapasitas / kemampuan memori utama. Khusus untuk larik dimensi dua, dalam matematika lebih dikenal dengan sebutan matrik. Berikut adalah suatu contoh larik data yang tersusun atas 10 elemen data yang dinotasikan dengan simbol berupa karakter "B", yaitu :

(22)

Sebagaimana tipe data yang lainnya, data bertipe larik harus dideklarasikan terlebih dahulu pada awal program aplikasi. Dengan deklarasi tersebut, berarti kita memberikan sejumlah informasi penting kepada compiler tentang tipe data elemen-elemen larik, batas bawah dan batas atas indeks elemen-elemen larik, dan cacah maksimal elemen dalam larik. Semuanya itu sangat diperlukan dalam perhitungan dan operasi-operasi manipulasi data pada langkah-langkah berikutnya dalam program aplikasi yang akan dikembangkan.

1.7. Pseudocode

Pseudocode merupakan salah satu cara menyatakan algoritma dalam bentuk uraian dengan menggunakan kata-kata yang mirip dengan kata-kata yang digunakan dalam bahasa pemrograman. Sebagai contoh untuk menyatakan bahwa variabel X diberi nilai nol, maka dapat dituliskan dalam bentuk pseudocode:

X ← 0

Untuk menyatakan bahwa variabel X diberi nilai berdasarkan nilai X sebelumnya ditambah dengan 2, maka dapat dituliskan:

X ← X+2

Untuk menyatakan proses membaca data yang diinputkan dari keyboard dan kemudian nilai yang diinputkan tersebut akan disimpan dalam variabel X, maka dapat dituliskan:

Read (X)

Untuk menyatakan proses mencetak nilai dalam variabel X, maka dapat dituliskan:

Write (X) atau Return (X)

(23)

Untuk menyatakan proses mencetak pesan DITEMUKAN, maka dapat dituliskan: Write (‘DITEMUKAN’)

atau

Return (‘DITEMUKAN’)

Untuk menyatakan proses seleksi kondisi, jika nilai dalam variabel X lebih dari nol maka akan mencetak pesan POSITIF dan sebaliknya, jika nilai dalam variabel X kurang dari nol maka akan mencetak pesan NEGATIF dapat dituliskan: If X > 0 Then Write (‘POSITIF) Else Write (‘NEGATIF’) Endif

Dengan nilai awal x =1, maka untuk menyatakan proses perulangan, yaitu selama nilai dalam variabel X kurang dari 100 maka akan diakumulasikan nilai-nilai dalam variabel X dan hasilnya ditampung dalam variabel Jumlah, dapat dituliskan: X ← 1 While (X <= 100) Do Jumlah ← Jumlah + X X ← X +1 Endwhile

Pseudocode tersebut juga dapat dituliskan sebagai berikut: For (X ← 1 To 100) Do

Jumlah ← Jumlah + X Endfor

Pseudocode tersebut juga dapat dituliskan sebagai berikut:

X ← 1

(24)

Jumlah ← Jumlah + X X ← X +1

Until (X > 100)

Untuk menyatakan proses perulangan dan seleksi kondisi, yaitu menjumlahkan bilangan genap antara 1 hingga 100 dan hasilnya ditampung dalam variabel Jumlah, dapat dituliskan:

X ← 1 While (X <= 100) Do If (X Mod 2 = 0 ) Then Jumlah ← Jumlah + X X ← X +1 Endif Endwhile

Pseudocode tersebut juga dapat dituliskan sebagai berikut: For (X ← 1 To 100 100) Do

If (X Mod 2 = 0 ) Then

Jumlah ← Jumlah + X Endif

Endfor

Pseudocode tersebut juga dapat dituliskan sebagai berikut:

X ← 1 Repeat If (X Mod 2 = 0 ) Then Jumlah ← Jumlah + X X ← X +1 Until (X > 100)

(25)

1.8. Bagan Alir (Flowchart)

Dalam mendeskripsikan prosedur penyelesaian permasalahan dalam bentuk algoritma, seringkali dijumpai kesulitan jika hanya menggunakan kata-kata atau kalimat-kalimat saja. Sehingga deskripsinya cenderung sulit dipahami dan memungkinkan timbulnya kesalahan interpretasi bagi orang lain. Selain itu, diperlukan banyak keterangan-keterangan yang seringkali justru sulit dimengerti. Belum lagi, setiap orang tentu memiliki cara-cara tersendiri yang berbeda sehingga tidak pernah ditemukan keseragaman dalam format penulisannya.

Untuk alasan-alasan tersebut, maka penggunaan flowchart akan banyak membantu dan menguntungkan. Dengan flowchart, langkah prosedur penyelesaian permasalahan dapat diekspresikan dengan serangkaian simbol grafis yang baku dan lebih mudah digunakan. Penggunaan flowchart akan menghindarkan sejak dini timbulnya kesalahan interpretasi bagi orang lain yang merupakan awal kegagalan suatu prosedur yang dikembangkan.

Banyak manfaat akan diperoleh apabila kita sering menggunakan flowchart dalam mengembangkan prosedur pemecahan masalah komputasi. Pertama, kita akan terbiasa berfikir secara sistematis dan terstruktur dalam setiap kesempatan. Kedua, dengan menggunakan flowchart, kita akan lebih mudah mengecek dan menemukan bagian-bagian prosedur yang tidak valid dan bertele-tele. Selain itu, prosedur yang dikembangkan akan lebih mudah dipahami oleh orang lain, sehingga tidak menimbulkan kesalahan interpretasi apabila mau menerapkan prosedur yang kita kembangkan.

Dengan alasan tersebut, maka sebagian besar penyelesaian permasalahan yang ditinjau dalam buku ini akan dilengkapi dengan flowchart prosedur dan sebagian kecil yang lain dilengkapi dengan flowchart sistem. Sedangkan pembahasan pada beberapa bagian sengaja tidak disertakan flowchartnya karena alasa media yang terbatas. Dengan cara demikian, syarat di atas akan tetap terpenuhi.

(26)

Di sini, flowchart dapat diartikan sebagai suatu alat atau sarana yang menunjukkan langkah-langkah yang harus dilaksanakan dalam menyelesaikan suatu pemasalahan untuk komputasi dengan cara mengekpresikannya ke dalam serangkaian simbol-simbol grafis khusus. Beberapa simbol yang sering digunakan dalam flowchart adalah seperti ditunjukkan pada Gambar 1.2.

1 2 3 4 5

6 7 8 9 10

Gambar 1.5 : Beberapa simbol dalam flowchart

Arti dari masing-masing simbol flowchart pada Gambar 1.5 adalah sebagai berikut :

1. Dimulai atau diakhiri suatu proses 2. Persiapan proses / pemberian nilai awal 3. Pembacaan atau pencetakan data 4. Proses

5. Proses pengecekan kondisi 6. Proses yang telah didefinisikan 7. Penghubung pada satu halaman 8. Penghubung pada halaman lain 9. Dokumen

10. Arah aliran proses

Secara umum, proses penyelesaian suatu permasalahan terdiri dari lima langkah utama, yaitu :

1. Dimulainya suatu proses 2. Membaca data masukan

3. Proses penyelesaian permasalahan 4. Mencetak hasil pengolahan / informasi 5. Diakhirinya semua proses pengolahan

(27)

Sebagai contoh pertama, Gambar 1.6 menunjukkan contoh flowchart untuk menyelesaikan permasalahan menghitung luas empat persegipanjang. Langkah-langkah untuk menghitung luas empat persegi panjang adalah dimulai pada titik mulai, kemudian membaca data ”Panjang” dan ”Lebar” empat persegi panjang yang akan dihitung. Berdasarkan data masukan tersebut dapat dihitung “Luas” empat persegi panjang dengan cara mengalikan “Panjang” dengan “Lebar”, hasilnya kemudian dicetak. Proses berakhir pada titik selesai. Proses untuk menghitung luas persegi panjang pada Gambar 1.6 dapat dituliskan dalam serangkaian langkah, yaitu sebagai berikut :

Panjang, Lebar merupakan variabel untuk menyimpan data masukan.

Luas merupakan variabel untuk menyimpan hasil perhitungan yang diperoleh. 1. Mulai

2. Baca data

Panjang, Lebar 3. Hitung Luas

Luas = Panjang x Lebar 4. Cetak Hasil

Luas 5. Selesai

Selesai Mulai

Baca Panjang, Lebar

Cetak Luas Hitung

(28)

Gambar 1.6 : Flowchart menghitung luas persegi panjang

Sebagai contoh kedua, Gambar 1.7 menunjukkan flowchart untuk menyelesaikan permasalahan menghitung sisa uang pembayaran. Misal, kalau seseorang membeli suatu barang dengan harga Rp. 1.000,00, saat membayar belanjaan tersebut dengan selembar uang pecahan lima ribuan, maka kasir akan mengetikkan data-data tentang identitas barang yang dibeli, harga barang, dan jumlah uang yang dibayarkan ke dalam mesin cash register. Setelah selesai, maka cash register tersebut akan menampilkan informasi berupa sisa uang pembayaran dan pembeli akan menerima uang kembali sebesar Rp. 4.000,00. Orang awam akan heran mengapa mesin tersebut sangat “pintar” sehinggga dapat mengetahui sisa uang kembali yang telah dibayarkan tersebut. Hal ini terjadi karena sebenarnya mesin tersebut telah “diisi” suatu program yang khusus untuk menangani kebutuhan seorang kasir.

Proses yang terjadi pada mesin tersebut adalah dimulai dengan membaca data-data masukan yang terdiri dari identitas barang yang dibeli, harga barang, dan jumlah uang yang dibayarkan. Data barang beserta harga masing-masing barang sebenarnya telah disimpan sebelumnya dalam mesin cash register, sehingga ketika seseorang membeli barang, data-data yang diinputkan oleh kasir akan dicocokkan dengan data yang telah tersimpan tersebut, sehingga diketahui harganya. Data jumlah uang yang dibayarkan akan diinputkan dan kemudian mesin akan menampilkan sisa uang pembayaran.

Secara logika, proses yang terjadi dalam mesin tersebut dapat dijelaskan sebagai berikut ini. Total harga barang yang harus dibayar dihitung dengan mengalikan harga dan jumlah barang yang diinputkan oleh kasir sesuai dengan belanjaan seseorang. Jika total harga barang disimpan dalam suatu variabel yang diberi nama “Total_bayar”, dan jumlah uang yang dibayarkan dibaca melalui variabel yang diberi nama “Uang_bayar”. Selanjutnya mesin akan menghitung sisa uang pembayaran yang disimpan dalam variabel lain, misal diberi nama “Sisa”, yang dihitung dengan cara mengurangi “Uang_bayar” dengan “Total_bayar”. Proses selanjutnya adalah mencetak informasi sisa uang pembayaran tersebut.

(29)

Gambar 1.7 : Flowchart menghitung sisa uang pembayaran

Proses untuk menghitung sisa uang pembayaran pada Gambar 1.7, dapat dituliskan dalam serangkaian langkah, yaitu sebagai berikut :

Uang_bayar, Total_bayar merupakan variabel untuk menyimpan data masukan. Sisa merupakan variabel untuk menyimpan hasil perhitungan yang diperoleh.

Mulai

Baca Uang_bayar, Total_harga

Cetak Sisa Hitung Sisa = Uang_bayar-Total_harga Selesai 1. Mulai 2. Baca data Uang_bayar, Total_harga 3. Hitung Luas Sisa = Uang_bayar-Total_harga 4. Cetak Hasil Sisa 5. Selesai

(30)

Sebagai contoh ketiga, Gambar 1.8 menunjukkan flowchart untuk menyelesaikan permasalahan mengecek kesamaan dua angka masukan.

Proses pada Gambar 1.8. dimulai pada titik mulai. Harga-harga angka yang akan dicek kesamaannya dibaca melalui variabel-variabel yang diberi nama “Angka1” untuk angka masukan pertama dan “Angka2” untuk angka masukan kedua. Dalam contoh di sini perlu proses pengecekan kondisi, yaitu apakah kedua angka yang dimasukkan sama atau berlainan. Jika kedua angka masukan bernilai sama, yaitu “Angka1” sama dengan “Angka2”, maka pross dilanjutkan dengan mencetak keterangan “Angka sama”. Sebaliknya, jika “Angka1” tidak sama dengan “Angka2” berarti kedua angka tidak sama maka proses dilanjutkan dengan mencetak keterangan “Angka berbeda”. Proses kemudian berakhir pada titik selesai.

Gambar 1.8 : Flowchart mengecek kesamaan dua angka masukan

Proses untuk mengecek kesamaan dua angka masukan pada Gambar 1.8 tersebut dapat dituliskan dalam serangkaian langkah, yaitu sebagai berikut :

Tidak

Cetak “Angka berbeda”

Selesai Angka1=Angka2

Cetak “Angka sama” Ya Baca Angka1, Angka2

Mulai

(31)

2. Baca data

Angka1, Angka2 3. Cek kesamaan angka

IF Angka1 = Angka2

Jika ya, cetak keterangan “Angka sama”

Jika tidak, cetak keterangan “Angka berbeda” 4. Selesai

Dari ketiga contoh di atas, menunjukkan bahwa untuk mengubah solusi dalam bentuk algoritma ke dalam bentuk flowchart bukanlah hal yang menyulitkan. Untuk mengubah bentuk solusi tersebut kita tinggal menyesuaikan maksud setiap langkah penyelesaian dengan simbol-simbol flowchart yang bersesuaian (lihat Gambar 1.5).

Gambar

Gambar 1.1 : Hubungan antara suatu permasalahan, algoritma, dan program  komputer
Gambar 1.2. menunjukkan struktur proses berurutan dalam algoritma.
Gambar 1.3 : Struktur proses perulangan bersarang
Gambar 1.4 : Langkah kerja penerjemah
+4

Referensi

Dokumen terkait

Compile adalah menerjemahkan kode program yang ditulis menggunakan bahasa pemrograman, ke bahasa mesin yang dapat dimengerti oleh komputer sehingga komputer

Program harus dibuat dalam bahasa yang dimengerti oleh komputer yang disebut bahasa pemrograman supaya instruksi yang ditulis oleh programmer dapat dilaksanakan oleh komputer..

Karena komputer adalah mesin maka program harus ditulis dalam bahasa yang khusus dibuat untuk berkomunikasi dengan komputer.. Bahasa komputer yang digunakan dalam menulis

Pengertian bahasa pemrograman adalah suatu perangkat lunak dan bahasa yang digunakan untuk membuat program-program komputer atau sering disebut sebagai bahasa komputer. Bahasa

1 Mengoperasikan editor untuk lingkungan kerja perangkat lunak bahasa pemrograman komputer  2 Menerapkan struktur penulisan kode/perintah program pada bahasa pemrograman

Perangkat Lunak aplikasi yang ditulis dalam berbagai bahasa pemrograman dan berjalan pada berbagai platform dapat menggunakan Web Service untuk pertukaran data

Kompiler (compiler), merupakan program yang menerjemahkan program yang ditulis di dalam bahasa pemrograman tingkat tinggi me suatu himpunan instruksi mesin spesifik yang

Bahasa Pemrograman- Perangkat lunak bahasa pemrograman (language software) merupakan program yang digunakan untuk menerjemahkan perintah-perintah yang ditulis