DASAR PEMROGAMAN DAN ALGORITMA

===

DASAR PEMROGAMAN DAN ALGORITMA

Arif Wibisono, S.Pd, M.Kom. Febrian Murti Dewanto, S.E, M.Kom. Wijayanto, ST, M.Kom.

S1 PENDIDIKAN TEKNOLOGI INFORMASI FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

KATA PENGANTAR

elamat datang di buku Dasar Pemrogaman dan Algoritma. Pada panduan ini, anda akan mempelajari dasar-dasar pemrogaman dan algoritma. Anda juga akan belajar menerapkan algoritma tersebut dalam bahasa pemrogaman C, C++

kemudian memecahkan berbagai jenis permasalahan, tentu saja dengan komputer. Pada dasarnya, panduan ini dibagi menjadi enam bab, yaitu Dasar Pemrogaman, Dasar Algoritma, Tipe Data, Kontrol Percabangan, Kontrol Pengulangan. Pada dua bab pertama adalah teori singkat tentang topic utama yagn dibahas. Sedangkan pada bab selanjutnya kita berlatih sekaligus mengenal teorinya. Contoh-contoh soal pada panduan ini sudah saya susun sedemikian rupa sehingga mudah membandingkan soal satu dengan lainnya sehingga muncul pemahaman utuh

Buku ini disusun sebagai harapan agar menjadi panduan Mahasiswa dalam mendalami pemrogaman, khususnya algoritma dengan bahasa C, C++ maupun yang sedang mengambil mata kuliah dasar pemrogaman dan algoritma.

Buku ini juga berisi beberapa contoh soal yang variatif, disesuaikan dengan kebutuhan pengajaran. Pada kesempatan ini, saya juga ingin mengucapkan terima kasih kepada keluarga, istri utamanya yang selalu memberikan dorongan dan semangat. Juga ucapan terima kasih kepada semua pihak yang telah membantu penerbitan buku ini baik secara langsung maupun tidak langsung. Akhir kata, semoga buku ini dapat bermanfaat bagi saya dan bagi para mahasiswa yang menempuh mata kuliah dasar pemrogaman dan algoritma.

Semarang, Agustus 2013

Tim Penyusun

BAB 1. DASAR PEMROGAMAN

1.1. 1 Apa itu pemrogaman dan apa saja lima langkah untuk melakukannya?

Untuk melihat bagaimana pemrogaman bekerja, kita harus memahami apa saja yang terdapat dalam sebuah progam. Progam adalah daftar instruksi yang harus diikuti computer untuk memproses data menjadi informasi. Instruksi terdiri atas pernyataan yang digunakan dalam bahasa pemrogaman, misalnya BASIC. Contohnya adalah progam yang mengolah kata, desktop publishing, atau memproses gaji.

Keputusan apakah akan membeli atau menciptakan sebuah progam adalah bagian dari Fase 4 dalam siklus hidup pengembangan sistem. Progammer bisa mulai bekerja setelah keputusan tersebut diambil.

Progam, sebagaimana telah dikemukakan, adalah daftar instruksi untuk komputer. Pemrogaman adalah proses lima langkah untuk menciptakan daftar instruksi tersebut. Pemrogaman kadang-kadang dinamakan software engineering (rekayasa perangkat lunak). Namun, istilah terakhir ini melibatkan penggunaan proses praktik terbaik (best practice) untuk menciptakan dan atau memelihara perangkat lunak. Rekayasa perangkat lunak meliputi pencarian dan penggunaan prinsip teknik untuk mendapatkan perangkat lunak yang sesuai dan bekerja untuk pengembangan, operasi dan perawatan perangkat lunak.

Lima langkah dalam proses pemrogaman :

1. Mengklarifikasikan/mendefinisikan masalah termasuk output, input, dan ketentuan pemrosesan yang diperlukan.

2. Mendesain solusi menggunakan perkakas pemodelan untuk membuat bagan progam.

3. Mengkode progam menggunakan sintaks bahasa pemrogaman, atau aturan untuk menulis progam.

1 Williams, Brian K. and Sawyer, Stacey C. 2007. Using Information Technology. Yogyakarta : Penerbit Andi, 2007.h.517-518.

4. Menguji progam terbebas dari error logika, atau “bug” dalam progam (dengan men- “debug”).

5. Mendokumentasikan dan memasukkan progam meliputi intstruksi tertulis untuk pengguna, keterangan progam, dan instruksi operasi.

1.1.1. 2 Langkah Pertama : Mengklarifikasikan Kebutuhan Pemrogaman. Mengapa pemrogaman memerlukan klarifikasi?

Lengkah klarifikasi masalah (definisi) terdiri atas enam langkah kecil mengklarifikasi tujuan progam dan pengguna, output, input dan tugas-tugas pemrosesan; mempelajari kemungkinan progam dapat bekerja; dan mendokumentasikan analisis. Mari kita lihat satu per satu keenam langkah kecil tersebut.

1. Mengkarifikasikan Tujuan dan Pengguna Setiap saat anda berusaha memecahkan masalah. Masalah bisa saja berupa apakah akan mengambil mata kuliah sains di semester ini atau semester berikutnya, atau memilih kuliah dengan jadwal yang bisa disesuaikan dengan jadwal kerja anda. Dalam kasus ini anda harus menentukan tujuan anda, tujuan yang ingin anda capai-masalah yang ingin anda pecahkan. Jika masalahnya berbasis computer, dan ia menunjukkan kepada Anda, seorang programmer, maka anda perlu mengklarifikasi kebutuhan pemrogaman. Anda juga harus tahu pasti siapa yang akan menggunakan progam yang akan Anda buat. Apakah mereka orang dalam perusahaan, dari luar, atau keduanya? Keahlian apa yang mereka miliki?

2. Mengklarifikasi Output yang diinginkan Pastikan anda memmahami outputnya apa yang ingin diperoleh desainer system dari system itu sebelum anda menentukan input. Misalnya jenis hardcopy apa yang anda inginkan? Informasi apa yang seharusnya terdapat dalam output? Anda perlu

2 Williams, Brian K. and Sawyer, Stacey C. 2007. Using Information Technology. Yogyakarta : Penerbit Andi, 2007.h.518.

mengadakan pertemuan dengan desainer system dan pengguna untuk memastikan bahwa anda menciptakan apa yang mereka inginkan.

3. Mengklarifikasikan Input yang diinginkan setelah mengetahui jenis output yang diinginkan, selanjutnya anda bisa memikirkan soal input. Jenis input data apa yang diperlukan? Bentuknya? Dari mana sumbernya?

4. Mengklarifikasikan Pemrosesan yang diinginkan Di sini anda harus memastikan bahwa anda memahami pekerjaan pemrosesan yang harus dilakukan pada data input yang nantinya diproses menjadi data output.

5. Mengecek Ulang Kelayakan Progam yang akan Diimplementasikan Apakah jenis progam yang akan anda buat bisa dilakukan dengan anggaran yang ada? Apakah akan memperkerjakan banyak staf? Apakah perlu waktu lama untuk menyelesaikannya?

6. Mendokumentasikan Analisis Melalui klarifikasi progam, programmer harus mendokumentasikan segala sesuatu yang telah mereka lakukan, termasuk menulis spesifikasi tujuan dari keseluruhan proses yang digambarkan.

1.1.2. 3 Langkah Kedua : Mendesain Progam

Bagaimana sebuah progam didesain? Semisal keputusannya adalah membuat progam (custom-write), maka tugas anda selanjutnya adalah mendesain solusi yang ditentukan oleh analis system. Untuk melakukannya, hal pertama yang perlu dilakukan adalah membuat algoritma. Algoritma adalah rumusan atau serangkaian langkah untuk memecahkan masalah tertentu. Untuk menjadi sebuah algoritma, sekumpulan aturan harus tidak ambigu dan memiliki saat berhenti yang jelas.

Kita setiap hari menggunakan algoritma. Contohnya resep untuk roti bakar adalah sebuah algoritma. Sebagian besar progam, kecuali beberapa aplikasi kecerdasan tiruan, terdiri atas algoritma. Dalam pemrogaman computer, sering terdapat algoritma

3 Williams, Brian K. and Sawyer, Stacey C. 2007. Using Information Technology. Yogyakarta : Penerbit Andi, 2007.h.519-520.

berbeda untuk menyelesaikan tugas yang diberikan, dan dalam situasi yang berbeda- beda, masing-masing algoritma memiliki keuntungan dan kerugian sendiri-sendiri. Menemukan algoritma yang elegan algoritma yang sederhana dan dengan sesedikit mungkin langkah adalah salah satu tantangan utama dalam pemrogaman.

Algortima dapat diterapkan dalam berbagai cara. Dalam langkah desain progam, perangkat lunak didesain dalam dua langkah kecil. Pertama, menentukan logika progam melalui pendekatan atas bawah dan modularisasi, dengan menggunakan bagan hierarki. Selanjutnya, mendesain logika progam secara detail, baik dalam bentuk naratif, menggunakan pseucode, atau secara grafis, dengan menggunakan diagram alur.

Sangat bermanfaat bila programmer menggunakan pendekatan berdasarkan pengalaman probadi untuk memprogam. Pemrogaman dianggap sebagai suatu seni, bukan ilmu pengetahuan. Namun, saat ini sebagian besar programmer menggunakan pendekatan desain yang disebut pemrogaman terstruktur. Pemrogaman terstruktur menggunakan pendekatan atas-bawah yang memecah progam ke dalam bentuk modul, dan menggunakan piranti logika standar yang disebut struktur control (sekuensi, seleksi, kasus, dan iterasi).

Tujuan utama pemrogaman terstruktur adalah membuat progam lebih efisien (dengan baris kode lebih sedikit) dan lebih terorganisasi (lebih mudah dibaca) serta memiliki notasi yang lebih bagus sehingga memiliki deskripsi yang jelas dan benar.

Dua Langkah kecil dalam desain progam adalah :

1. Mementukan Logika Progam Menggunakan Pendekatan Atas-Bawah Menentukan logika progam sama seperti membuat kerangka skripsi sebelum mulai menulisnya. Desain progam atas-bawah dilakukan dengan mengidentifikasi elemen atas, atau modul, dari suatu progam lalu memecahnya secara urut sampai tingkat detail terendah. Desain ini digunakan untuk mengidentifikasi langkah pemrosesan progam, atau modul. Setelah progam didesain, coding sesungguhnya pun dilakukan dari atas bawah ke atas dengan menggunakan pendekatan modular.

 Modularisasi : Konsep Modularisasi sangat penting. Modularisasi sangat menyederhanakan pegnembangan progam karena setiap bagian bisa dikembangkan dan diuji secara terpisah. Modul merupakan lagnkah pemrosesan dari suatu progam. Masign-masing modul tersusun atas pernyataan-pernyataan progam yang mempunyai hubungan logis. (Modul kadang-kadang dinamakan subprogram atau subrutin). Contoh dari modul

bisa berupa instruksi pemrogaman yang hanya mengatakan “Buka sebuah file, ca ri sebuah record dan tampilkan pada layar tampilan”. Akan lebih

baik jika masing-masingmodul hanya memiliki satu fungsi, sama seperti paragraf dalam kalimat sebaiknya memiliki satu pikiran yang utuh. Aturan ini membatasi ukuran dan kompleksitas modul.

 Desain progam atas-bawah : Desain progam atas-bawah (top-down) bisa digambarkan dalam satu bagan hierarki. Suatu bagan hierarki, atau bagan struktur menggambarkan tujuan progam secara keseluruhan, dengan mengidentifikasi semua modul yang diperlukan untuk mencapai tujuan tersebut dan hubungan antarmodul. Bagan ini bekerja mulai dari yang umum hingga yang khusus, memulai dari level atas (level tinggi) yang melihat apa yang harus dikerjakan progam. Selanjutnya, masing-masing layer memperbaiki dan memperluas layer sebelumnya hingga layer bawah bisa dibuat menjadi modul pemrogaman yang khusus. Progam harus berjalan sesuai urutan dari satu modul ke modul berikutnya sampai semua diproses. Ada tiga modul utama yang sejalan dengan tiga operasi utama dari suatu komputasi input, pemrosesan, dan output.

2. Mendesain detail menggunakan pseucode dan atau Diagram Alur Setelah menentukan logika progam, selanjutnya Anda dapat menggarap detailnya dengan menggunakan pemrogaman atas-bawah dan bagan hierarki. Ada dua cara untuk membuat detail menulis atau menggambarkannya dengan menggunakan pseudocode atau diagram alur. Sebagian besar proyek menggunakan keduanya.

 Pseudocode: Pseudocode adalah metode mendesain suatu progam dengan menggunakan pernyataan bahasa manusia untuk mendeskripsikan logika dan aliran proses. Pseudocode seperti sebuah kerangka atau bentuk rangkuman dari progam yang akan anda tulis. Terkadang pseudocode hanya digunakan untuk menjelaskan tujuan modul pemrogaman tertentu dalam istilah yang umum. Dengan menggunakan istilah seperti JIKA, MAKA atau JIKA TIDAK pseidocode mengikuti aturan dari struktur control, suatu aspek penting dalam pemrogaman terstruktur, seperti yang akan kami jelaskan nanti.

 Diagram alur progam : Kami telah menjelaskan diagram alur system dalam bab sebelumnya. Disini kami akan menjelaskan diagram alur progam. Diagram alur progam adalah bagan yang secara grafis menampilkan langkah detail (algoritma, atau aliran logika) yang diperlukan untuk memecahkan masalah pemrogaman. Diagram alur ini menggunakan symbol standar yang disebut symbol ANSI. Kependekan dari American National Standards Institute, lembaga yang mengembangkannya.

 Struktur control : Ketika anda mencoba menentukan logika di balik suatu hal. Anda menggunakan kata-kata seperti jika dan maka, kemudian jika tidak ( Misalnya, tanpa menggunakan kat-kata diatas. Anda akan menelaah

baris berikut : “Jika ia dating, maka kami akan nonton film, jika tidak saya akan tinggal saja dirumah dan nonton TV”). Struktur control juga

menggunakan kat-kata yang sama. Kontrol struktur atau struktur logika, adalah struktur yang mengontrol sekuensi logis dimana instruksi progam computer dieksekusi. Dalam desain progam terstruktur, yaitu : sekuensi, seleksi, dan iterasi (atau loop). Inilah perangkat yang anda gunakan untuk menulis progam terstruktur dan melakukan pekerjaan lain diluar pemrogaman. (Variasi tambahan dari ketiga struktur dasar ini juga digunakan.)

Mengeluarkan record master

Membaca

Membaca

cek pegawai

kartu waktu

laporan gaji

setiap individu

pembayaran

Menghitung

Menghitung

gaji kotor

gaji bersih

Menghitung

Menghitung gaji reguler

Gambar 1. Bagan Hierarki

START DO WHILE (so long as) there are records

Read a customer billing account record IF today’s date is grater than 30 days from Date of last customer payment

Calculate total amount due Calculate %% interest an amount due

Add interest to total amount due calculate

grand total Print on invoice overdue amount

ELSE Calculate total amount due

ENDIF

Print out invoice

END DO END

Gambar 2. Psedocode

Membandingkan Tiga Struktur Kontrol Ketiga struktur control secara umum mempunyai satu masukan dan satu keluaran. Struktur control dimasukkan pada satu titik Membandingkan Tiga Struktur Kontrol Ketiga struktur control secara umum mempunyai satu masukan dan satu keluaran. Struktur control dimasukkan pada satu titik

 Struktur control sekuensi : Dalam struktur control sekuensi, satu pernyataan progam mengikuti yang lain dengan urutan yang logis. Misalnya, dalam contoh yang ditunjukkan dalam gambar . Ada dua kotak (“Statement”

dan “Statement”). Satu kotak bisa berbunyi “Buka file”, dan yang lain “Baca sebuah record”. Tidak ada keputusan yang bisa dilakukan, tidak ada pilihan antara “ya” atau “tidak”. Kotak tersebut secara logis saling mengikuti dalam urutan sekuensial.

 Struktur control seleksi: Struktur control seleksi, juga disebut struktur JIKA-MAKA-JIKA TIDAK merepresentasikan pilihan. Struktur ini menawarkan dua jalur yang diikuti ketika progam harus membuat suatu keputusan. Contoh struktur seleksi adalah : JIKA jam kerja seorang pegawai dalam satu minggu lebih dari 40 MAKA jam lembur sama dengan jumlah jam yang menjadi selisihnya JIKA TIDAK pegawai tidak mempunyai jam lembur Variasi struktur control seleksi yang biasa adalah struktur control kasus. Struktur ini menewarkan lebih dari satu keputusan ya atau tidak. Struktur

kasus memberikan beberapa alternative, atau “kasus”, yang bisa ditampilkan (“JIKA Kasus I terjadi, MAKA lakukan.. JIKA Kasus 2 terjadi, MAKA ikuti alternative… “ Dan seterusnya.) Struktur control kasus membuat programmer ridak harus mengindikasikan begitu banyakl kondisi JIKA- MAKA-JIKA TIDAK secara terpisah.

 Struktur control iterasi: Dalam struktur control iterasi, atau struktur control loop, suatu proses bisa diulang selama kondisinya tetap benar. Ada  Struktur control iterasi: Dalam struktur control iterasi, atau struktur control loop, suatu proses bisa diulang selama kondisinya tetap benar. Ada

Mulai

Input Harga

Input Jumlah

Pajak

Hitung Pajak Penjualan = Harga x Jumlah

Gambar 3. Struktur control sekuensi

Mulai

Input Nilai Properti

Nilai > 100.000?

Hitung Pajak =

Hitung Pajak =

Nilai x 0,12

Nilai x 0,5

Mencetak Pajak

Berhenti

Gambar 4. Struktur control seleksi

Gambar 5. Struktur control iterasi

Mulai

Input Nama

Nama = “End”?

Cetak Nama

Input Nama

Berhenti

Simbol Nama

Kegunaan

Terminal

Mengindikasikan awal dan akhir suatu progam

Proses

Kalkulasi atau transfer nilai menjadi variable

Input/Output

Pernyataan apa saja yang menyebabkan data dimasukkan ke dalam progam (I/O)

(INPUT, READ) atau dikeluarkan dari progam, seperti mencetak pada layar

display atau printer

Keputusan

Keputusan progam. Memperbolehkan arah tindakan berdasarkan sebuah

kondisi. Keputusan mengindikasikan suatu pernyataan yang bisa dijawab ya

atau tidak (atau benar atau salah)

Proses yang

Sekelompok pernyataan yang bersama-sama menyelesaikan satu tugas. sudah

Banayak digunakan ketika progam dipecah menjadi modul.

Ditentukan Sebelumnya Konektor

Bisa digunakan untuk menghilangkan garis aliran yang panjang. Kegunaannya untuk mengindikasikan satu symbol yang dihubungkan ke yang lain.

Garis aliran dan Digunakan untuk menghubungkan symbol dan mengindikasikan sekuensi Anak panah operasi. Alirannya diasumsikan dari atas ke bawah dan dari kiri ke kanan. Anak panah hanya diperlukan ketika aliran melawan arah yang standar.

Tabel 1. Keterangan symbol diagram alur

1.1.3. 4 Langkah Ketiga : Menulis Progam

Apa saja yang termasuk dalam penulisan progam? Setelah mengembangkan desain, penulisan progam yang sebenarnya pun dimulai. Penulisan progam disebut coding . Orang sering menganggap coding sebagai pemrogaman, padahal coding hanya merupakan salah satu dari lima langkah pemrogaman. Coding adalah menerjemahkan persyaratan logika dari pseudocode atau diagram alur ke dalam suatu bahasa pemrogaman huruf, angka dan symbol yang menbentuk progam.

1. Memilih Bahasa Pemrogaman Tingkat Tinggi yang sesuai Bahasa pemrogaman adalah kumpulan aturan yang memberitahu computer tentang

4 Williams, Brian K. and Sawyer, Stacey C. 2007. Using Information Technology. Yogyakarta : Penerbit Andi, 2007.h.525.

operasi apa yang harus dilakukan. Contoh bahasa pemrogaman yang terkenal adalah C, C, C++, dan Java. Semua itu disebut bahasa tingkat tinggi.

Tidak semua bahasa sesuai untuk semua kegunaan. Beberapa, misalnya, memiliki kelebihan dalam pemrosesan matematika dan statistic, sementara yang lain lebih cocok untuk manajemen database. Ketika memilih bahasa pemrogaman, anda harus menentukan tujuan dari mendesain progam serta mengetahui bahasa apa yang telah digunakan dalam organisasi atau bidang anda. Kami akan membahas masalah ini pada bagian kedua bab ini.

2. Mengkode Progam dalam Bahasa yang Telah Dipilih, Mengikuti Sintaks Agar progam bisa bekerja, anda harus mengikuti sintaks, yakni aturan bahasa pemrogaman. Bahasa pemrogaman memiliki tata bahasa sendiri, sama seperti bahasa manusia. Akan tetapi, computer tidak bisa memaafkan seandainya Anda menggunakan aturan tersebut dengan tidak benar.

1.1.4. 5 Langkah Keempat : Menguji Progam

Bagaimana progam diuji? Pengujian meliputi menjalankan berbagai pengujian kemudian menjalankan data yang sebenarnya untuk memastikan progam bekerja. Aktivitas utama adalah desk-checking dan debugging. Langkah tersebut dinamakan pengujian alfa.

1. Melakukan Desk-checking Desk-checking hanya membaca hingga tuntas atau memeriksa progam untuk memastikan bahwa progam bebas kesalahan dan bahwa logikanya bias tetap bekerja dengan baik. Dengan kata lain, desk- checking sama seperti proofreading. Langkah ini harus dilakukan sebelum progam benar-benar dijalankan pada sebuah computer.

2. Debug Progam Setelah progam melewati desk-checking, kesalahan lain atu “bug” masih tetap bias muncul. Debug berarti mendeteksi, menempatkan

5 Williams, Brian K. and Sawyer, Stacey C. 2007. Using Information Technology. Yogyakarta : Penerbit Andi, 2007.h.526.

dan memindahkan semua kesalahan pada sebuah progam computer. Kesalahan bias berupa kesalahan sintaks atau kesalahan logika. Kesalahan sintaks disebabkan oleh kesalahan tipografi oleh penggunaan struktur control yang salah. Progam yang disebut diagnostic dapat digunakan untuk memeriksa sintaks progam dan menampilkan pesan kesalahan sintaks. Progam diagnostic selanjutnya membantu mengidentifikasi dan memecahkan masalah.

3. Menjalankan Data yang Sebenarnya Setelah desk-checking dan debugging, progam akan berjalan dengan baik di laboratorium. Akan tetapi, progam masih perlu diuji dengan data riil, dan ini disebut pengujian beta. Sebenarnya sangat disarankan untuk menguji progam dengan data yang rusak, data yang salah, tidak lengkap atau melebihi kuantitas untuk melihat apakah anda akan membuat system mengalami crash. Banyak pengguna mungkin akan menjadi semakin cuek, ceroboh, dan malas daripada yang diperkirakan programmer.

Tim pemrogaman dapat melakukan percobaan-percobaan dengan menggunakan data uji yang berbeda-beda sebelum mereka yakin bahwa progam bias dirilis. Namun demikian, sesudah rilis pun masih bias terjadi bug mengingat pencarian kesalahan secara lengkap dipandang tidak ekonomis. Itu sebabnya banyak pengguna gugup saat menggunakan versi pertama (versi 1.0) dari perangkat lunak komersial.

1.1.5. 6 Langkah Kelima : Mendokumentasikan dan Memasukkan Progam

Apa yang dilakukan ketika mendokumentasikan dan memasukkan progam? Menulis dokumentasi progam merupakan langkah kelima dalam pemrogaman. Hasil dokumentasi terdiri atas deskripsi tertulis tentang progam dan bagaimana cara menggunakannya. Dokumentasi bukan hanya sekedar proses akhir dari pemrogaman, ia

6 Williams, Brian K. and Sawyer, Stacey C. 2007. Using Information Technology. Yogyakarta : Penerbit Andi, 2007.h.527.

seharusnya dilakukan di semua langkah pemrogaman. Dokumentasi diperlukan oleh meraka yang ingin menggunakan atau akan dilibatkan dalam progam di masa depan. Dokumentasi harus dipersiapkan untuk beberapa jenis pembaca, pengguna, operator dan programmer.

1. Menulis Dokumentasi Pengguna Ketika Anda membeli paket perangkat lunak komersial, seperti spreadsheet, biasanya Anda akan menemukan manual di dalamnya.

2. Menulis Dokumentasi Operator Orang yang menjalankan computer dalam jumlah besar disebut operator computer. Karena tidak semua dari mereka adalah programmer. Mereka harus diberitahu apa yang harus dilakukan ketika progam tidak berfungsi. Dokumentasi operator memerikan informasi tersebut.

3. Menulis Dokumentasi Progammer lama sesudah tim pemrogaman tidak bekerja lagi, progam masih bias digunakan. Jika, misalnya, ada lima staf pemrogaman yang meninggalkan pekerjaan setiap tahun setiap tahun, setelah

5 tahun bisa jadi muncul tim programmer yang benar-benar baru, yang tidak tahu apa-apa soal perangkat lunak yang sudah ada. Dokumentasi progam membantu melatih pendatang baru ini dan membuat mereka dapat memelihara system.

4. Memelihara Progam Pemeliharaan meliputi semua aktivitas yang didesain untuk menjaga agar progam tetap bekerja sesuai kondisi, bebas kesalahan, dan pada tingkat terkini penyesuaian, penggantian, perbaikan, pengukuran, pengujian dan sebagainya. Perubahan yang cepat dalam organisasi modern dalam produk, strategi pemasaran, system akuntansi, dan sebagainya bisa dimasukkan ke dalam system computer mereka. Lebih jauh, pemeliharaan merupakan masalah yang penting, dan harus ada dokumentasi untuk membantu programmer membuat penyesuaian pada system yang sudah ada.

Kelima langkah proses pemrogaman dirangkum dalam table dibawah ini.

Langkah

Aktivitas

Langkah 1: Klarifikasi masalah 1. Mengklarifikasikan tujuan dan pengguna progam.

2. Mengklarifikasi output yang diinginkan. 3. Mengklarifikasi input yang diinginkan. 4. Mengklarifikasi pemrosesan yang

diinginkan.

5. Mengecek ulang kemungkinan berhasilnya implementasi progam. 6. Mendokumentasikan analisis. Langkah 2: Desain progam

1. Menentukan logika progam melalui pendekatan atas-bawah dan modularisasi, menggunakan bagan hierarki.

2. Mendesain detail dengan menggunakan pseudocode dan atau menggunakan diagram alur, lebih disukai berdasarkan struktur control.

3. Menguji desain dengan terstruktur. Langkah 3: Coding progam

1. Memilih bahasa pemrogaman yang sesuai. 2. Mengkode progam dalam bahasa yang

telah dipilih dan mengikuti sintaksnya dengan teliti.

Langkah 4: Pengujian progam 1. Memeriksa desktop progam untuk menemukan kesalahan. 2. Menjalankan progam dan mendebugnya (pengujian alfa)

Langkah 5: Dokumentasi dan pemeliharaan 1. Menuliskan dokumentasi pengguna. progam

2. Menuliskan dokumentasi operator 3. Menuliskan dokumentasi programmer 4. Memelihara sistem

Tabel 2. Rangkuman lima langkah pemrogaman

1.2. Bahasa pemrogaman C dan C++

Bahasa pemrogaman C merupakan bahasa pendahulu dari pemrogaman C++. Pencipta bahasa pemrogaman C adalah Brian W. Kernighan dan Dennis M. Ritchie pada sekitar tahun 1972. C adalah bahasa pemrogaman terstruktur yang membagi progam dalam bentuk sejumlah blok. Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan progam.

Bahasa pemrogaman C++ diciptakan satu dekade setelah C oleh Bjarne S troustrup pada tahun 1983. Pada mulanya bahasa C++ disebut “a better C”. Nama C++ kemudian diberikan oleh Rick Masciti pada musim panas 1983. Adapun tanda ++ pada

C++ berasal dari operator penaikan pada bahasa C. Keistimewaan yang sangat berarti pada C++ adalah karena bahasa C++ mendukung Pemrogaman Berorientasi Objek (PBO) atau Object Oriented Progamming (OOP).

1.3. Console application

Progam C++ dapat ditulis dengan menggunakan sembarang editor teks, seperti Console Aplication (Borland Delphi 7), ataupun editor bawaan dari kompiler. Contoh progam C++:

Gambar 6. Contoh progam C++ menggunakan console delphi 7

Gambar 7. Debugging di DOS promt

1.4. Persiapan instalasi Borland delphi

Borland delphi 7 menggunakan bahasa pemrogaman yang sangat terstruktur yang merupakan pengembangan dari progam pascal. Sebelum kita dapat menggunakannya untuk berlatih script listing code bahasa C++, terlebih dahulu kita mempersiapkan instalasi progam borland delphi 7 pada komputer yang akan kita gunakan. Pada materi buku kali ini operating system yang saya gunakan adalah windows 7 dari microsoft corporation, langkah-langkahnya adalah sebagai berikut :

1. Jalankan instalasi menggunakan user Administrator

Gambar 8. Instalasi option sebagai user administrator

2. Option type instalasi adalah typical

3. Checklist keterangan Use VisiBroker/CORBA Support

4. Microsoft office control pilih office XP

5. Pastikan un-checklist keterangan install interbase client

Gambar 9. Unchecklist install interbase client

6. Option folder instalasi biarkan default

7. Checklist kotak recommended save instalasi to hard drive

8. Berhenti

9. Atur terlebih dahulu security option pada direktori instalasi borland di C:/Progam File/Borland klik kanan properties.

Gambar 10. Borland properties

10. Pada tab general hilangkan checklist read only pada attribute kemudian pilih apply untuk menjalankan perintahnya.

Gambar 11. Unchecklist read-only attributes

11. Buka tab security, kemudian berikan hak akses penuh di administrator, begitu juga dengan user (user-pc), kemudian pilih ok.

Gambar 12. Security option borland properties

12. Instalasi dan konfigurasi borland delphi selesai.

1.5. Menjalankan console aplication

Untuk dapat belajar bahasa pemrogaman C++, kita bisa menggunakan Console Aplication pada Borland Delphi 7. Langkah untuk menjalankannya adalah sebagai berikut :

1. Jalankan progam Borland Delphi 7

Gambar 13. Progam borland delphi 7

2. Muncul jendela progam compatibility assistant, pilih run progam

Gambar 14. Jendela compatibility assistant

3. Pada menu bar file, pilih other

Gambar 15. Jendela menu bar file

4. Pada new items, pilih console application

Gambar 16. Jendela new items

5. Selanjutnya akan muncul jendela editor, setelah selesai anda melakukan coding untuk menjalankan progam tekan Run atau F9.

BAB 2. DASAR ALGORITMA

2.1. 7 Apa itu Algoritma?

Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika. Dalam kehidupan sehari-hari, sebenarnya anda juga menggunakan algoritma untuk melakukan sesuatu. Sebagai contoh, anda ingin menulis surat, maka anda perlu melakukan beberapa langkah berikut ini.

Menulis Surat :

1. Mempersiapkan kertas dan amplop

2. Mempersiapkan alat tulis

3. Mulai menulis

4. Memasukkan kertas ke dalam amplop

5. Pergi ke kantor pos untuk mengirimkan surat

Gambar 17. Contoh algoritma sederhana 1

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

Dalam banyak kasus, algoritma yang anada lakukan tidak selalu berurutan seperti diatas. Kadang-kadang anda harus memilih dua atau beberapa pilihan. Sebagai contoh, jika anda ingin makan, anda harus menentukan akan makan dirumah makan atau memasak sendiri. Jika anda memilih untuk makan di rumah makan, anda akan menjalankan algoritma yang berbeda dengan jika anda memilih memasak sendiri. Dalam dunia algoritma semacam ini sering disebut percabangan.

Dalam kasus lain lagi, anda mungkin harus melakukan langkah-langkah tertentu beberapa kali. Sebagai contoh, saat anda menulis surat, sebelum memasukkan kertas ke

7 Pranata, Antony. 2002. Algoritma dan Pemrogaman. Jakarta : Penerbit Graha Ilmu, 2002.h.6-7.

dalam amplop, mungkin anda harus mengecek apakah surat tersebut sudah benar atau belum. Jika belum benar, berarti anda harus mempersiapkan kertas baru dan menulis lagi. Demikian seterusnya sampai surat anda sesuai dengan yang diharapkan. Dalam dunia pemrogaman, hal semacam ini sering disebut pengulangan.

2.2. 8 Contoh Algoritma

Berikut ini adalah contoh algoritma untuk mmecahkan masalah metematika. Misalnya anda ingin menghitung luas lingkaran dari masukan berupa jari-jari lingkaran. Rumus luas lingkaran adalah sebagai berikut.

L=π.R 2 Berikut ini adalah contoh algoritma untuk menghitung luas lingkaran.

1. Masukkan R.

2. Pi = 3.14

3. L = Pi*R*R

4. Tulis L Perhatikan terdapat tanda = pada baris kedua dan ketiga. Tanda ini berarti nilai disebelah kanan diberikan pada operan disebelah kiri. Sebagai contoh, untuk baris kedua, nilai 3.14 diberikan pada variable Pi. Berikutnya, nilai Pi*R*R diberikan pada variable L.

Baris pertama dari algoritma di atas meminta masukan dari pengguna berupa jari-jario lingkaran yang disimpan pada variable R. pada baris kedua nilai π disimpan pada variable dengan nama Pi. Baris ketiga menghitung luas lingkaran dengan rumus

πR 2 atayu yang dituliskan Pi*R*R. luas lingkaran ini disimpan pada variable L. baris terakhir menuliskan luas lingkaran tersebut.

Untuk memudahkan memahami algoritma, biasanya orang menggambarkan suatu diagram alir (flow chart). Berikut ini adalah contoh diagram alir dari rumus diatas.

8 Pranata, Antony. 2002. Algoritma dan Pemrogaman. Jakarta : Penerbit Graha Ilmu, 2002.h.7.

Mulai

Masukkan R

Pi=3.14

L=Pi*R*R

Tulis L

Selesai

Gambar 18. Algoritma penghitung luas lingkaran

2.2.1. 9 Percabangan

Contoh berikutnya adalah algoritma untuk menuliskan nilai absolute dari nilai yang dimasukkan pengguna. Definisi dari nilai absolute adalah sebagai berikut.

│x│ = x, jika x ≥ 0 │x│ = -x, jika x < 0 Berikut ini adalah algoritma untuk menuliskan nilai absolute dan masukan

pengguna.

1. Masukkan x.

9 Pranata, Antony. 2002. Algoritma dan Pemrogaman. Jakarta : Penerbit Graha Ilmu, 2002.h.8-9.

2. Jika (x < 0) maka kerjakan baris 3, jika tidak kerjakan baris 4.

3. X ← -x.

4. Tulis x. Baris pertama meminta masukkan suatu bilangan dari pengguna yang disimpan pada variable x. Baris kedua mengecek nilai variable x lebih kecil dari 0 atau tidak. Jika ya, yang dikerjakan adalah baris ketiga, 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.

Mulai

Masukkan x

x<0

x ß-x

Tulis x

Selesai

Gambar 19. Algortima menuliskan nilai absolut

2.2.2. 10 Pengulangan

Untuk memperjelas penulisan algoritma, saya akan menyajikan satu contoh lagi, yaitu algoritma untuk menghitung rata-rata dari sekumpulan data yang dimasukkan pengguna. Rumus mencari rata-rata dari data x 1 yang berjumlah N adalah sebagai berikut.

Berikut ini adalah algoritma untuk menghitung rat-rata data yang dimasukkan pengguna.

1. Masukkan N

2. i ß1.

3. J ß0.

4. Selama (i<=N) kerjakan baris 4 sampai dengan 7.

5. Masukkan dt.

6. iß i+1.

7. jß j+dt.

8. Rata ßj/N.

9. Tulis rata. Baris pertama meminta pengguna memasukkan N, yaitu jumlah data. Pada baris ketiga, variable I, yang berguna sebagai pencacah banyaknya data

yang telah dimasukkan pengguna, diberi nilai 1. Pada baris ketiga, variable j, yang digunakan untuk menyimpan hasil penjumlaha data, diberi nilai 0. Baris keempat memberikan perintah untk mengulangi baris keempat sampai dengan baris ketujuh selama i kurang dari sama dengan N. dengan kata lain, setelah I lebih besar dari N, baris kedelapan yang dijalankan.

10 Pranata, Antony. 2002. Algoritma dan Pemrogaman. Jakarta : Penerbit Graha Ilmu, 2002.h.10-11.

Baris keenam menambah variable i dan 1. Perhatikan arti dari perintah I ß i+1 adalah nilai i ditambah dengan 1 kemudian hasilnya disimpan pada variable i kembali. Baris ketujuh menambah variable j dengan data yang dimasukkan pengguna. Sebagaimana dijelaskan di atas, variable j digunakan untuk menimpan hasil penjumlahan semua data, jadi untuk setiap masukan data, nilai variable j harus ditambah dengan dt.

Mulai

Masukkan N

iß1 Jß0

Selama (i<=N)

Masukkan

dt

ißi+1 JßJ+dt

Rata ßj/N

Gambar 20. Algoritma menghitung rata-rata sekumpulan data

2.3. Latihan algoritma pemrogaman

Kerjakan latihan berikut untuk lebih memahamkabn anda mengenai materi diatas.

1. Tulislah algoritma untuk mencari luas segitiga jika masukan dari pengguna adalah alas dan tingginya. Petunjuk: Luas segitiga dapat dihitung dengan rumus:

L= 1 /

2 .a.t dengan a: alas segitiga dan t: tinggi segitiga

BAB 3. TIPE DATA

Apa itu tipe data? Tipe data menentukan nilai yang dapat disimpan variable tersebut dan operator-operator apa yang dapat dikenakan padanya. Sebagai contoh, tipe real hanya dapat menyimpan bilangan real, dan operator yang dapat dikenakan padanya antara lain operator penjumlahan, perkalian dan sebagainya. Sebelum kita lanjut membahas tipe data terlebih dahulu akan saya bahas struktur progam.

3.1. Struktur Progam

Dalam penulisan progam nantinya, memiliki aturan baku. Yang dimaksud aturan baku adalah urutan dalam penulisan atau struktur.

Gambar 21. Struktur progam DELPHI

Keterangan deklarasi :

1. Const : suatu nilai yang bersifat tetap diwakili dengan sebuah pengenal

2. Type : untuk menyatakan data berurutan yang bertipe sama

3. Var : suatu tempat yang dialokasikan di dalam memori komputer untuk menampung data yang berubah-ubah

4. Prosedure : suatu rutin/baris progam yang biasanya dipakai sebagai alat untuk melakukan tugas tertentu atau mendapat nilai tertentu dan tidak memiliki nilai kembalian

5. Function : suatu rutin/baris progam yang biasanya dipakai sebagai alat untuk melakukan tugas tertentu atau mendapat nilai tertentu dan memiliki nilai kembalian.

Selain memiliki aturan dalam struktur urutan juga memiliki aturan penulisan, diantaranya :

1. Akhir sebuah progam harus ditandai dengan tanda baca titik (.) setelah END yang paling akhir

2. Tanda titik koma (;) merupakan pemisah antar instruksi satu dengan lainnya

3. Beberapa statement boleh ditulis menjadi satu baris dipisahkan dengan tanda baca titik koma (;). Contoh : simpan := akhir;=simpan+awal;

4. Baris komentar diletakkan diantara tanda (* dan *) atau diantara tanda (dan) Contoh : Var rerata

: real;

(*nilai rata-rata*)

Nil1

: real;

(nilai ujian)

5. Delphi bersifat incasesensitive (besar kecil tulisan dianggap sama).

3.2. 11 Macam-macam Tipe Data

Ada enam kelompok tipe data, yakni sebagai berikut :

1. Type Sederhana, Tipe sedeehana dibagi lagi menjadi dua tipe yaitu tipe ordinal dan real.

a. Tipe Ordinal, Tipe ordinal sendiri dibagi lagi menjadi beberapa tipr, yaitu:

 tipe bilangan bulat,  tipe boolean,  type karakter,  type terbilang,  type subjangkauan.

11 Pranata, Antony. 2002. Algoritma dan Pemrogaman. Jakarta : Penerbit Graha Ilmu, 2002.h.13-14.

b. Type Real

2. Type string, yaitu sekumpulan karakter.

3. Type terstruktur. Tipe terstruktur dibagi lagi menjadi lima tipe berikut.  Tipe larik  Tipe rekaman  Tipe objek  Tipe himpunan  Tipe berkas

4. Type Pointer.

5. Type Prosedural.

6. Type Objek. Tidak semua tipe diatas akan dibahas dibahas pada bab ini karena memang jarang digunakan dalam pembahasan algoritma, misalnya tipe procedural dan tipe berkas.

3.2.1. 12 Type bilangan bulat (integer)

Sesuai namanya, tipe bilangan bulat digunakan untuk menyimpan bilangan bulat. Table dibawah menunjukkan macam-macam tipe bilangan bulat. Tipe

Integer - 32768…32767

Tabel 3. Type bilangan bulat

Sebagai contoh, dua pernyataan berikut ini masing-masing mendeklarasikan dua variable bertipe integer, yaitu x dan y, serta satu variable bertipe word, yaitu z.

12 Pranata, Antony. 2002. Algoritma dan Pemrogaman. Jakarta : Penerbit Graha Ilmu, 2002.h.14-15.

var x, y : integer ; z : word ;

Untuk memberi nilai pada tipe bilangan bulat, anda dapat menggunakan basis decimal meupun heksadesimal. Pemberian nilai dalam basis heksadesimal dilakukan dengan menambahkan $ didepan bilangannya.

Contoh : x := 16; (dengan decimal)

X := $0A; (dengan heksadesimal)

3.2.2. 13 Type boolean

Tipe boolen adalah tipe yang hanya dapat bernilai benar atau salah, tipe Boolean seperti terlihat pada table dibawah ini.

Tipe Data Ukuran Boolean

1 Byte ByteBool

1 Byte WordBool

2 Byte (1 word) LongBool

4 Byte (2 word)

Tabel 4. Type Boolean

Dari empat tipe diatas, yang paling sering digunakan adalah tipe Boolean. Sebagai contoh, pernyataan berikut ini mendeklarasikan sebuah variable bertipe boolean dengan nama bl:

var bl : boolean ; Ada dua macam nilai yang diberikan pada tipe boolean, yaitu true dan false. Contoh : bl:=true; bl:=false ;

13 Pranata, Antony. 2002. Algoritma dan Pemrogaman. Jakarta : Penerbit Graha Ilmu, 2002.h.15.

Tipe Boolean yang lain, ByteBool, WordBool, dan LongBool, tidak perlu anda perhatikan karena ketiga tipe ini hanya disediakan untuk kompatibilitas dengan pemrogaman windows.

3.2.3. 14 Type karakter (char)

Tidak seperti tipe bilangan bulat yang digunakan untuk menyimpan data numeris , tipe karakter digunakan untuk menyimpan data alfanumeris, seperti „A‟,‟Z‟,‟@‟,‟$‟,‟1‟,‟9‟, dan sebagainya. Tipe karakter dideklarasikan dengan kata kunci

char. Contoh : Untuk member nilai pada variable bertipe karakter, Anda dapat menggunakan beberapa cara yaitu berikut ini.

1. Menuliskan karakter di dalam tanda petik tunggal. Contoh :

c h := ’A’;

2. Menuliskan tanda # diikuti dengan nomor ASCII dari karekter yang ingin Anda tuliskan. Contoh :

ch := #65; (nama artinya dengan ch := ‘A’;)

3. Mengkonversikan nomor ASCII ke karakter menggunakan fungsi chr. Contoh :

ch := chr (65) ; (nama artinya dengan ch: Kebalikan dari fungsi chr adalah ord, yang digunakan untuk mengembalikan nomor ASCII dari suatu karakter. Contoh :

X := ord (‘A’); { x akan bernilai 65;) Sekedar tambahan, Anda dapat menemukan table ASCII pada Lampiran

3.2.4. Type subjangkauan

Tipe subjangkauan memungkinkan anda mendeklarasikan tipe yang berada pada jangkaian tertentu. Pada dasarnya tipe subjangkauan hamper sama dengan tipe bilangan

14 Pranata, Antony. 2002. Algoritma dan Pemrogaman. Jakarta : Penerbit Graha Ilmu, 2002.h.15-16.

bulat, bedanya anda bebas menentukan jangkauan dari tipe ini, misalnya dari 1 sampai dengan 100.

Pendeklarasian tipe subjangkauan dilakukan dengan menuliskan batas bawah dan batas atas dari jangkauannya. Sebagai contoh : type

Bulan = 1 … 12; Mendeklarasikan tipe Bulan yang memeliki jangkauan dari 1 sampai dengan 12.

Dengan demikian, bila anda mempunyai variable bertipe Bulan, seperti contoh berikut : var januari = Bulan; Anda tidak bisa memberikan nilai kurang dari 1 atau lebih dari 12. Contoh :

Januari:= 1;

3.2.5. 15 Type terbilang

Tipe terbilang memeungkinkan Anda memberikan nama pada beberapa nilai tertentu. Sebagai contoh : type TipeHari = (Minggu, Senin, Selasa, Rabu, Kamis,

Jum’at, Sabtu); Memberi nama Minggu pada 0, Senin pada 1, Selsa pada 2, dan seterusnya, Dengan pendeklarasian TipeHari seperti contoh di atas. Anda tidak perlu

menggunakan angka 0,1,sampai dengan 6 untuk merepresentasikan hari. Sebagai contoh, jika anda mempunyai variable Hari yang bertipe TipeHari:.

var Hari : TipeHari;

15 Pranata, Antony. 2002. Algoritma dan Pemrogaman. Jakarta : Penerbit Graha Ilmu, 2002.h.17.

3.2.6. 16 Type real

Sesuai namanya, tipe real digunakan untuk menyimpan bilangan real. Macam- macam tipe real adalah sebagai berikut, lihat pada table. Tipe Data

Real 38 2.9*10 .. 1.7*10 6 byte

Single 38 1.5*10 .. 3.4*10 4 byte

Double 308 5.0*10 ...1.7*10 8 byte

63 Comp 63 -2 +1..2 -1

8 byte

Tabel 5. Type real

Sebagai contoh, dua pernyataan berikut ini masing-masign mendeklarasikan dua variable bertipe real, yaitu x dan y, serta satu variable bertipe double, yaitu z. var x,y:real; z:double;

Pemberian nilai pada tipe real dapat dilakukan dengan dua cara sebagai berikut :

1. Menuliskan nilai dengan tanda titik tanpa eksponen. Contoh : x:=123.45;

2. Menuliskan nilai dengan eksponen. Contoh : x:= 1.2345E+2;

3.2.7. Type string

Tipe string digunakan untuk menyimpan data yang berupa untaian karakter, seperti ‘Algoritma’, dan sebagainya. Untuk mendeklarasikan string, digunakan kata kunci string. Contoh :

var kalimat:string;

16 Pranata, Antony. 2002. Algoritma dan Pemrogaman. Jakarta : Penerbit Graha Ilmu, 2002.h.17.

Pemberian nilai pada string dilakukan dengan meletakkan untaian karakter diantara tanda petik tunggal. Contoh : kalimat:=’Algoritma Pemrogaman’; Untuk member nilai yang mengandung karakter pada suatu string, tulislah karakter‟ sebanyak dua kali. Contoh : kalimat:=Don’t smoke’;

3.2.8. 17 Type larik (array)

Tipe larik memungkinkan Anda mendeklarasikan kumpulan variable yang bertipe sama. Pendeklarasian larik harus mengikuti bentuk umum berikut. var

nama_larik:array[batas_bawah..batas_atas] of tipe_larik;

Sebagai contoh, Anda ingin membuat delapan variable bertipe longint. Tanpa menggunakan larik, anda mungkin mendeklarasikan variable tersebut dengan cara berikut.

var a1,a2,a3,a4,a5,a7,a8:longint; Dengan larik sederhanakan deklarasi kedelapan variable menjadi : var

a:array[1..8] of longint; Dengan pendeklarasian ini, seolah-olah anda mempunyai delapan variable, yaitu

a[1}, a[2], a[3], a[4], a[6], a[7], dan a[8]. Contoh : a[1] := 10; a[2] := 5;

17 Pranata, Antony. 2002. Algoritma dan Pemrogaman. Jakarta : Penerbit Graha Ilmu, 2002.h.18-19.

Indeks larik tidak harus dimulai dari 1. Anda bisa memulainya dari angka berapa pun. Sebagai contoh : var A:array[5..8] of longint; Mendeklarasikan larik dengan indeks mulai dari 5 sampai dengan 10. Dengan demikian, elemen-elemen larik. Anda adalah A[5], A[6], A[7],A[8],A[9], dan A[10].

Anda bisa juga mendeklarasikan larik multidimensi, yaitu larik yang memiliki dimensi lebih dari satu. Sebagai contoh : var A:array[1..8. 1..5] of longint; Mendeklarasikan larik dua dimensi berukuran 5x5. Dengan demikian, Anda mempunyai 25 elemen, yaitu A[1, 1], A[1, 2], A[1, 3],…,A[3, 1], A[3, 2], A[3, 3], … A[5, 4], dan A[5, 5]. Untuk lebih jelasnya lehat gambar dibawah ini.

A[1,4] A[1,5]

A[2,4] A[2,5]

A[3,4] A[3,5]

A[4,4] A[4,5]

A[5,4] A[5,5]

Tabel 6. Larik dua dimensi berukuran 5x5

Contoh : A[1, 1] := 10; A[1, 2] := 5; A[5, 5] := 20;

3.2.9. 18 Type rekaman

Bila dengan larik, anda menggabungkan beberapa variable bertipe sama; dengan rekaman anda menggabungkan beberapa variable yang tipenya tidak harus sama. Untuk mendeklarasikan rekaman, digunakan kata kunci record. Contoh :

type TKaryawan = record

Nama : string; Alamat : string; Gaji: longint;

end Pemberian nilai pada variable bertipe rekaman dilakukan dengan menyebutkan nama variable rekaman yang diikuti tanda titik dan variable di dalam rekaman. Sebagai contoh, jika terdapat variable Karyawan yang bertipe TKaryawan

var Karyawan : TKaryawan: Anda dapat menuliskan pernyataan berikut. Karyawan.Nama := ‘Delphi 7’ Karyawan.Alamat := ‘Borland/Inprose’; Karyawan.Gaji

18 Pranata, Antony. 2002. Algoritma dan Pemrogaman. Jakarta : Penerbit Graha Ilmu, 2002.h.20.

3.2.10. 19 Type himpunan (set)

Tipe himpunan digunakan untuk menyimpan kumpulan nilai (disebut juga anggota himpunan) yang bertipe sama. Sebagai contoh : type Karyawan : TKaryawan: Mendeklarasikan tipe HimpunanKarakter sebagai himpunan dari karakter. Berikut ini adalah contoh variable yang dideklarasikan berdasarkan tipe tersebut: var

Vokal : HimpunanKarakter: Huruf : HimpunanKarakter:

Pemberian nilai pada tipe himpunan dilakukan dengan menuliskan anggota himpunan dalam kurung siku ([ dan ]). Contoh :

Vokal := [‘A’, ‘I’, ‘U’, ‘E’, ‘O’0; Huruf := [‘A’..’z’]

3.2.11. Type pointer

Pointer adalah variable yang menunjuk lokasi memori tertentu. Pendeklarasian pointer dilakukan dengan cara yang hamper sama dengan pendeklarasian variable biasa, bedanya anda harus menambahkan tanda ^ di depan tipe pointer. Contoh :

var P1 : ^integer: P2 : ^double:

Bila anda mempunyai dua buah variable bertipe integer dan double seperti contoh berikut .

19 Pranata, Antony. 2002. Algoritma dan Pemrogaman. Jakarta : Penerbit Graha Ilmu, 2002.h.20.

var

I : integer:

D : double: Anda dapat menugaskan P1 agar menunjuk I dan P2 agar menunjuk D dengan pernyataan berikut. P1 := 0I; P2 := 0D; Karena P1 menunjuk pada alamat I, bila anda mengubah nilai pada alamat

tersebut nilai I juga akan berubah. Sebagai contoh, pernyataan : P2^ := 100; Sama artinya dengan I :=100. Demikian juga bila anda menuliskan pernyataan : P2^ := 123.456; Nilai D akan berubah menjadi 123.456. Selain dengan menugaskan pointer untk menunjuk variable lain, anda bisa juga

menugaskan pointer untuk menunjuk lokasi memori tertentu dengan pasangan fungsi New dan Dispose.

Fungsi New akan mengalokasikan tempat di memori yang nantinya ditunjuk oleh sebuah pointer. Sebaliknya, prosedur Dispose akan mendealokasikan memori agar nantinya bisa digunakan untuk keperluan lain. Sebagai contoh, jika anda mempunyai deklarasi pointer seperti ini:

P1: ^integer; Anda dapat mengalokasikan memeori dengan pernyataan berikut. new (P1); setelah pointer digunakan, anda harus mendelokasikannya seperti pada

pernyataan berikut. dispose (P1); Sebelum Anda mengalokasikan memori untuk sebuah pointer, kemanakah

pointer tersebut menunjuk? Sama seperti variable biasa, pointer seperti ini akan pointer tersebut menunjuk? Sama seperti variable biasa, pointer seperti ini akan

P := nil;

3.3. Latihan pemrogaman tipe data

1. Jika diketahui x adalah variable bertipe integer, dari nilai-nilai berikut, manakah yang dapat diberikan pada x?

d. -$FF

e. $AAAA

f. 0010

2. Jika diketahui y adalah variable bertipe real, dari nilai-nilai berikut, manakah yang dapat diberikan pada y?

a. .3

b. 1E2

c. 3E+4.2

d. $5.0

e. -5E-5

f. 3,14

3. Buatlah sebuah pemrogaman tipe data, sehingga menghasilkan result seperti soal dibawah. Tampilan Progam

PENULISAN TIPE DATA =================== Tipe data bilangan bulat

: <input>

Tipe data karakter

: <input>

Tipe data real

: <input>

Tipe data string

: <input>

Tekan enter untuk keluar Hasil eksekusi dari soal diatas

Gambar 22. Hasil eksekusi dari soal 1 penulisan tipe data

3.4. 20 Macam-macam Operator

Setelah mempelajari macam-macam tipe data, sekarang anda akan mempelajari operasi apa saja yang bisa dilakukan terhadap variable anda. Pada dasarnya, ada tujuh macam operator, yaitu :

1. operator pemberian nilai

2. operator aritmetik

3. operator pemanipulasian bit

4. operator boolean

5. operator pembanding

6. operator himpunan

7. operator string

3.4.1. Operator pemberian nilai (penugasan)