contoh laporan

download contoh laporan

of 81

Transcript of contoh laporan

BAB I PENDAHULUAN 1.1 Latar Belakang Perkembangan bahasa pemrograman komputer dewasa ini berlangsung dengan sangat pesat.. Bahasa Pascal adalah bahasa yang populer di dunia. Pada platform ini terdapat sejumlah kompiler Pascal. Yang menarik, Turbo Pascal bukanlah sekedar kompiler. Turbo Pascal menyediakan suatu kompiler. Turbo Pascal menyediakan suatu lingkungan terpadu ( dikenal degan sebutan IDE, Integrated Developenment Environment), yang diantaranya berfungsi: Kompiler Debugger Linker Editor : untuk mengkompilasi program menjadi suatu objek yang dipahami oleh komputer. : untuk membantu mencari kesalahan : untuk menggabungkan file objek dan file pustaka serta membentuk file executable. : untuk menulis program sumber sebutan OOP ( Object-Orientedobjek. Metode pada Semenjak versi 5.5 ,Turbo Pascal menyediakan kemampuan pemrograman berorientasi objek yang dikenal dengan Programing ). OOP mengkombinasikan data dan fungsi atau prosedur yang mengakses data menjadi suatu wadah yang disebut pemrograman ini dirasakan dapat mengatasi kesulitan yang timbul

pemrograman yang besar dan kompleks, sehingga dapat meningkatkan produktivitas pemrograman. Disamping itu, dilihat dari struktur pengerjaan sintaksnya tergolong sederhana dibandingkan bahasa pemrograman yang lainnya. Berdasarkan kelebihan yang dimiliki itulah, maka Bahasa Pascal saat ini telah banyak digunakan terutama di lembaga pendidikan sebagai langkah awal dalam pembelajaran pemrograman. Sebagaimana yang telah diterapkan pada praktikum mata kuliah Konsep Pemrogrman Komputer, yang diadakan oleh Jurusan Teknik Elektro, Universitas Udayana. Pada praktikum ini, mahasiswa diberikan tugas untuk mengerjakan beberapa program dengan menggunakan bahasa pemrograman Pascal / C++, antara lain: program untuk menentukan gaji karyawan dan program rumus akar kuadrat, program konversi nilai cek serta

1

konversi suhu, program menentukan bilangan prima serta magic square, dan yang terakhir program untuk pengurutan serta pencarian data. 1. 2 Rumusan Masalah Berdasarkan uraian di atas maka didapat beberapa rumusan masalah sebagai berikut:

1

Bagaimana bentuk algoritma, flowchart, serta sintax yang digunakan untuk membuat program besar gaji karyawan yang diambil dari gaji pokok,tunjangan jabatan dan gaji lembur, dapat menentukan gaji lembur , dan program mencari akar kuadrat ?

2

Bagaimana bentuk algoritma, flowchart, serta sintax

untuk membuat

program untuk mengkonversikan nilai nominal cek ke dalam bentuk terbilang dengan huruf(bahasa inggris), program untuk mengkonversikan nilai suhu dari masing-masing satuan suhu ( R, C, F, K ) dan untuk mengkonversikan satuan menjadi gross, lusin, dan buah?

3

Bagaimana algoritma, flowchart, serta sintax

untuk membuat program

untuk menentukan bilangan prima jika dimasukkan N bilangan dan program untuk meletakkan bilangan-bilangan pada sebuah kotak ajaib dimana jumlah dari bilangan tersebut baik secara vertikal, horisontal, maupun diagonal adalah sama ?

4

Bagaimana algoritma, flowchart, serta sintax untuk mengurutkan data dengan menggunakan metode sorting ( Insertion Sort, Shell Sort, Bubble Sort, Merge Sort, dan Quick Sort ) serta untuk mencari data dengan metode searching ( Binary Search dan Sequential Search ) ?

1. 3 Tujuan Adapun tujuan daripada penulisan laporan praktikum ini adalah:

1

Untuk mengetahui bentuk algoritma, flowchart, serta sintax yang digunakan untuk membuat program besar gaji karyawan yang diambil dari gaji pokok,tunjangan jabatan dan gaji lembur,dapat menentukan gaji lembur ,dan program mencari akar kuadrat sehingga memudahkan dalam perhitungan.

2

2

Untuk mengetahui bentuk algoritma, flowchart, serta sintax untuk membuat program untuk mengkonversikan nilai nominal cek ke dalam bentuk terbilang dengan huruf(bahasa inggris) dan program untuk mengkonversikan nilai suhu dari masing-masing satuan suhu ( K, C, R, F ), dimana perogram tersebut dapat memberikan hasil konversi yang akurat.

3

Untuk mengetahui algoritma, flowchart, serta sintax

untuk membuat

program untuk menentukan bilangan prima jika dimasukkan N bilangan dan program untuk meletakkan bilangan-bilangan pada sebuah kotak ajaib dimana jumlah dari bilangan tersebut baik secara vertikal, horisontal, maupun diagonal adalah sama. 4 Untuk mengetahui algoritma, flowchart, serta sintax untuk mencari data dengan menggunakan metode sorting dan searching. 1. 4 Manfaat Adapun manfaat dari daripada penulisan laporan praktikum ini bagi pembaca adalah: 1 2 Dapat mengetahui serta menjelaskan tentang penggunaan bahasa pemrograman serta tahapan pembuatan program. Menghasilkan suatu bentuk algoritma, flowchart, serta sintax yang tepat atas setiap program yang telah dibuat, sehingga mampu memberikan hasil yang tepat serta sesuai dengan keinginan user. 3 Dapat memacu minat pembaca untuk terus mengembangkan seni pemrograman yang nantinya akan melahirkan ide-ide kreatif baru dalam menyelesaikan sebuah program.

3

BAB II TINJAUAN PUSTAKA Pada bab tinjauan pustaka ini akan kami coba untuk menjelaskan secara singkat mengenai materi-materi yang terkait dengan pembuatan program dan pelaksanaan praktikum ini. 2.1 Sejarah Pemrograman Pascal Pemrograman yaitu suatu proses untuk membuat atau menerjemahkan sesuatu masalah kedalam bahasa komputer. Dimana dalam proses tersebut harus terdapat proses-proses lagi untuk dapat mendefinisikan masalah yang ingin kita pecahkan. Oleh karena itu didalam pemrograman ini diperlukan sarana berupa bahasa pemrograman. Bahasa pemrograman adalah bahasa yang khusus dibuat untuk menulis program agar dapat dibaca oleh komputer. Bahasa pascal pertama kali disusun oleh Niklaus Wirth dari Swiss yang merupakan bahasa terstruktur yang dikembangkan dari bahas ALGOL-60 pada tahun 1970. Perkembangan pascal hingga kini sebenarnya sudah sangat jauh dari versi pertama kali pascal tersebut, apalagi setelah muncul standar pascal pada tahun 1974 yang kemudian dikembangkan lagi oleh Borland International pada komputer PC yang beroperasi dibawah sistem operasi DOS. Produk Borland International tersebut diberi nama Turbo Pascal. Turbo Pascal telah banyak sekali mengalami perubahan dari versi pertamanya. Pembaharuan pada sistem memori yang dipakai dan lain-lain membuat Turbo Pascal menjadi bahasa pascal yang paling terkenal dan dapat bersaing dengan bahasa-bahasa lainnya seperti C, Cobol, dan lain-lain. Bahkan dari segi-segi tertentu Turbo Pascal mengunggulli bahasa-bahasa tersebut. Perjalanan Pascal mengalami perubahan-perubahan besar pada versi tertentu, seperti peralihan dari versi 3.0 ke 4.0 di mana pada versi 4.0 manajemen memori program Pascal diubah sedemikian rupa sehingga merupakan manajemen memori yang sangat baik saat ini. PadaTurbo Pascal 5.5, Turbo Pascal kembali mengambil langkah maju dengan menambahkan fasilitas Object Oriented Programming (OOP) ke dalam Turbo Pascal. OOP

4

merupakan

suatu

metode

yang

sangat

bagus

untuk

mempermudah

pemrograman. Pada Turbo Pascal 6.0, kembali terdapat pembaharuan dengan penambahan Turbo Vision yang merupakan kumpulan-kumpulan object yang sangat berguna untuk mempermudah pemrograman, khususnya pembuatan menu. Turbo Pascal kini telah mencapai versi 7.0, dengan kemampuan yang tentu sangat maju dibanding dengan versi-versi pertama. 2.2 Struktur Program Pascal

Program Uses Label Const Type Var Procedure Function Begin

....; ( Nama/judul Program ) ....; ( Uses Nama Unit ) ....; ( Label ) ....; ( Constant ) ....; ( Type ) ....; (Variabel ) ....; ( Procedure ) ....; ( Function ) (Statements )

Statement; ........... End

Kode program 2.1 struktur program pascal

Sebuah program Pascal yang lengkap tersusun atas tiga bagian : 1. 2. 3. Kepala program Bagian deklarasi Bagian pernyataan

Urutan bagian-bagian diatas, letaknya di dalam program sesuai penomorannya. 2.2.1 Kepala Program Kepala program diawali dengan kata tercadang Program, lalu diikuti dengan nama program dan tanda titik koma. Contoh: Program nilai_tes

5

Pada Turbo Pascal judul program sebenarnya bersifat opsional. Baris ini dapat dibuang tanpa mengubah isi program. Kegunaannya adalah sebagai identitas program dan dikenal sebagai kepala program. Walaupun bersifat opsional, namun dianjurkan setiap program harus diawali dengan baris semacam ini. 2.2.2 Uses Uses suatu pernyataan untuk mengaktifkan atau menggunakan suatu program UNIT dalam program yang dibuat. Unit merupakan kumpulan dari prosedure atau function yang telah disediakan untuk keperluan tertentu yang dapat langsung digunakan dalam penyusunan program.Berikut penjabaran dari unit dalam Pascal :Tabel 2.1 Unit Uses

Nama Unit Crt

Keterangan Berisi kumpulan procedure atau function yang berhubungan dengan screen atau layar text, seperti penggunaan warna, posisi kursor, keyboard dan suara. Berkaitan dengan operasi terhadap sistem operasi dan penanganan file. Suatu Unit yang menyediakan kumpulan prosedur grafik yang siap pakai. Berisi lebih dari 50 rutin yang berkaitan dengan operasi grafis. Menyediakan pengendali grafik kura-kura (turtlegraphics) yang tersedia pada Turbo Pascal versi 3.0. Berisi rutin yang berguna untuk melakukan overlay (berbagai memori bagi suatu program yang besar). Berisi fasilitas untuk memudahkan pencetakan ke printer. Suatu UNIT standard yang tidak perlu lagi didefinisikan melalui Uses. Berisi sejumlah pustaka yang digunakan saat eksekusi (runtime library). Di antaranya berisi rutin: 1. penanganan masukan / keluaran file, 2. penanganan string, 3. alokasi memori dinamis. Untuk menjaga kompitabilitas terhadap program Turbo Pascal versi 3.0.

Dos

Graph

Graph3 Overlay Printer

System

Turbo3

6

Merupakan implementasi rutin penanganan file dan WinDos sistem operasi. Unit ini merupakan alternatif dari unit DOS. 2.2.3 Bagian Deklarasi Bagian deklarasi dapat berupa sejumlah bagian, yaitu: 1. 2. 3. 4. 5. Bagian deklarasi label, Bagian deklarasi konstanta, Bagian deklarasi tipe, Bagian deklarasi variabel, Bagian deklarasi subprogram,

Sebuah program dapat saja tidak melibatkan bagian deklarasi sama sekali. Berikut akan dijelaskan pengertian masing-masing bagian diatas: 2.2.4 Deklarasi Label Label berguna untuk menandai suatu pernyataan. Tanda ini selanjutnya dapat diacu oleh suatu pernyataan (yaitu GOTO). Perlu diperhatikan bahwa pada penandaan suatu pernyataan, label ditulis diikuti tanda titik dua (:). Bentuk umum ditunjukkan seperti berikut:Label Daftar_label ;

Daftar_label berupa satu atau beberapa nama label. Jika ada lebih dari stu label, antara yang satu dengan label berikutnya perlu diberi tanda pemisah berupa koma. Contoh: LABEL LABEL Selesai, Hitung; Selesai, Hitung; Perlu diketahui:

1. Setiap label hanya boleh menandai satu pernyataan saja (tidak bolehdipakai di dua tempat atau lebih). 2. Nama label mempunyai aturan sesuai dengan pengenal atau dapat pula berupa angka 0 sampai dengan 9999.

7

2.2.5 Deklarasi Konstanta Suatu konstanta dapat diberi nama. Cara mendefinisikan konstanta yang mempunyai nama adalah dengan menggunakan Const, dengan bentuk:Const Pengenal = nilai; .. Pengenal = nilai; Kode program 2.2 deklarasi konstanta

Contoh: Const PHI = 3.141593 Setelah konstanta didefinisikan PHI tidak dapat dirubah. Pernyataan seperti : PHI = 3.14 tidak diperkenankan. 2.2.6 Deklarasi Tipe Pascal memperkenankan pemrogram untuk membuat sendiri suatu tipe data baru. Hal ini dilakukan pada bagian deklarasi tipe. Bentuk umumnya:Type nama_tipe_1 = tipe_1; .. nama_tipe_n = tipe_n; Kode program 2.3 : deklarasi type

Dalam hal ini: 1. nama_tipe berupa satu pengenal, 2. tipe dapat berupa sembarang tipe data. Tipe yang dideklarasikan pada Tipe ini dapat dipakai untuk mendeklarasikan variabel. 2.2.7 Deklarasi Variabel Sebelum suatu variabel dapat digunakan pada bagian pernyataan, variabel harus dideklarasikan terlebih dahulu. Bentuk pendeklarasiannya:

8

Var

nama_variabel _1 = tipe_1; .. nama_variabel _2 = tipe_2;

Kode program 2.4 deklarasi variabel

Dalam hal ini nama_variabel berupa pengenal dan tipe dapat berupa tipe standar Turbo Pascal (misalnya Real) ataupun tipe yang dibuat pada bagian Tipe. 2.2.8 Deklarasi Subprogram Bagian deklarasi subprogram digunakan untuk mendeklarasikan subprogram (prosedur atau fungsi yang anda buat sendiri). Ada hal yang perlu diketahui yaitu tentang perbedaan antara prosedur atau fungsi:Tabel 2.2 Perbedaan Procedure dan Fungsi

Prosedure Berdiri sendiri sebagai pernyataan Tidak memberikan hasil pada saat prosedure dipanggil 2.2.9 Bagian Pernyataan

Fungsi Berdiri sebagai operand dalam ekspresi Memberikan hasil berupa suatu nilai saat fungsi dipanggil

Bagian yang ada di dalam Begin End merupakan pernyataan-pernyataan yang akan dijalankan oleh Turbo Pascal. Pernyataan adalah perintah yang menyebabkan komputer melakukan suatu tindakan. Sebagai contoh:WriteLn(Selamat menggunakan Turbo Pascal);

Merupakan sebuah pernyataan. Pernyataan ini digunakan untuk menampilkan tulisan: Selamat menggunakan Turbo Pascal Contoh lain:PROGRAM Latihan_1; Uses WinCrt;

Begin

9

WriteLn(Selamat menggunakan); WriteLn(Turbo Pascal); End.

Dari contoh diatas, dapat dilihat bahwa terdapat dua pernyataan dalam Begin End. Masing-masing pernyataan tersebut diakhiri dengan tanda titik koma (;). Tanda ini sebenarnya diperlukan untuk memisahkan dua buah pernyataan. Pada WriteLn yang pertama, tanda titik koma harus diberikan, namun tanda titik koma pada WriteLn yang terakhir dapat tidak dibuat. Catatan: 1. Pada Pascal, tanda titik koma berlaku sebagai pemisah pernyataan, bukan sebagai pengakhir pernyataan. Ada tiga ketentuan tanda titik koma di akhir suatu pernyataan: a. b. c. Tanda titik koma harus diberikan. Tanda titik koma justru harus dihilangkan. Tanda titik koma hanyalah bersifat opsional. 2. Tanda titik koma harus ada, diantaranya: a. Di akhir kepala program. b. Di akhir setiap pendeklarasian konstanta. c. Di akhir setiap pendeklarasian variabel. d. Di antara pernyataan-pernyataan yang terletak dalam Begin End. 2.3 Tipe-tipe Data yang Digunakan Dalam Bahasa Pemrograman Pascal. Dalam memprogram dengan bahasa Pascal, kita tidak bisa lepas dari penggunaan tipe-tipe data dimana tipe data ini akan menentukan nilai yang dapat disimpan pada sebuah variabel. Tipe-tipe data yang sering digunakan dalam Pascal antara lain: a) o o o o o Tipe ordinal. Dapat dibagi lagi menjadi: Tipe bilangan bulat Tipe boolean Tipe karakter (char) Tipe terbilang Tipe subjangkauan

10

b)

Tipe bilangan bulat, yang digunakan untuk menyimpan variabel yang berkaitan dengan bilangan bulat. Tipe bilangan bulat ini terdiri dari:Tabel 2.3 Jenis tipe data bilangan bulat dalam Pascal

Tipe Data Shortint Integer Longint Byte Word c)

Jangkauan Nilai -128 s/d 127 -32.768 s/d 32.767 -2.147.483.648 s/d 2.147.483.647 0 s/d 255 0 s/d 65.535

Ukuran Memori 8 bit 16 bit 32 bit 8 bit 16 bit

Tipe boolean, adalah tipe yang hanya memiliki nilai benar dan nilai salah. Pascal sesungguhnya menyediakan 4 tipe boolean seperti:Tabel 2.4 Jenis tipe data boolean dalam Pascal

Tipe Data Boolean ByteBool WordBool LongBool d) e)

Ukuran Memori 1 bit 1 bit 2 bit (1 word) 4 bit (2 word)

Tipe karakter (char), yaitu tipe data yang menyimpan nilai variabel yang hanya berupa satu karakter (data alfanumeris). Tipe string, yaitu tipe data yang menyimapan nilai variabel yang berupa lebih dari satu karakter atau dapat dikatakan tipe string adalah sekumpulan karakter.

f)

Tipe real, yaitu tipe data yang berkaitan dengan penyimpanan variabel dalam bentuk bilangan real. Tipe real dapat dibagi lima:

Tabel 2.5 Jenis tipe data bilangan real dalam Pascal

11

Tipe Data Real Single Double Extended Comp

Jangkauan Nilai 2,9 x 10-39 s/d 1,7 x 1038 1,5 x 10-45 s/d 3,4 x 1038 5,0 x 10-324 s/d 1,7 x 10308 5,0 x 10-4951 s/d 1,1 x 104932 2 s/d 2 -1(-9,2x10 s/d 9,2x1018)63 63 18

Ketelitian (digit) 11 s/d 12 7 s/d 8 15 s/d 16 19 s/d 20 19 s/d 20

Ukuran Memori 6 bit 4 bit 8 bit 10 bit 8 bit

g)

Tipe larik (array), memungkinkan untuk mendeklarasikan kumpulan variabel yang bertipe sama.

2.4 Algoritma Pemrograman Algoritma pemrograman bertujuan untuk memudahkan pemrogram untuk merancang program yang ingin dibuat. Pemrograman dapat menentukan alur programnya agar tidak kehilangan arah. Seringkali pemrograman macet di tengah jalan atau kebingungan dalam membuat program jika tidak membuat algoritma pemrograman dulu. Untuk menghindari terjadinya kemacetan ini ada beberapa tahapan yang harus diikuti dalam mengembangkan program. Adapun tahapan-tahapan tersebut adalah sebagai berikut: 1. Pendefinisian Masalah Bertujuan untuk pemahaman tentang permasalahan yang ada setiap akan A. diperoleh asumsi-asumsi yang benar untuk memecahkan permasalahan, adalah: Pemahaman permasalahan Pemahaman permasalahan sangat penting dan harus dilakukan dengan hati-hati karena sering kali bisa terjadi persepsi yang berbeda dalam pemahaman permasalahan sehinggan tidak diperoleh pemecahan yang tepat. B. Identifikasi Permasalahan Seorang kemungkinan programmer harus yang mampu akan memperkirakan pada saat permasalahan muncul

pembuatan program dan programmer harus menentukan batasan permasalahan agar tidak berkembang menjadi tidak terbatas.

12

C.

Perancangan Algoritma dan Struktur Data Desain algoritma dibuat sama dengan menuliskan langkahlangkah dalam pemecahan masalah yang ada sebab algoritma dibuat untuk memecahkan masalah yang ada. Algoritma harus dikaji secara terus menerus sehingga akan diperoleh algoritma yang paling lengkap, tepat, benar dan relevan, karena algoritma harus memiliki kebenaran secara logika sebelum siap untuk dimplementasikan.

D.

Pengkodean Pengkodean adalah kemudahan yang didapat dalam pemeliharaan maupun dalam mengerti kode sumber yang telah dibuat. Pengkodean menekankan kepada kesederhanaan dan kejelasan, pengkodean meliputi : a. Dokementasi kode Dimulai dengan pemilihan identifer dari organisasi yang dibuat. b. Deklarasi data Ditentukan apabila kode telah dibuat dan terdapat sejumlah petunjuk yang dapat digunakan untuk membuat data mudah dimengerti dan mudah pemeliharaannya. (variabel dan label),

dilanjutkan dengan penyusunan komentar serta penggambaran

c.

Penyusunan perintah Merupakan bagian dari pengkodean karena banyak dari

bahasa pemrograman yang mengijinkan lebih dari satu perintah dalam satu baris. E. Input / Output Petunjuk yang dapat digunakan dalam perancangan dan pengkodean input / output adalah: a. b. c. d. F. Validitas seluruh data input. Cek keusangan dan seluruh kombinasi item input. Membuat format input dan output yang mudah. Membuat komentar seluruh input. Efisiensi Tujuan yang harus dicapai dalam pengkodean, meliputi :

13

a. Efisiensi kode Kode harus merupakan satu kesatuan dengan efisiensi algoritma yang telah didefinisikan pada tahap perancangan. b. Efisiensi memori Keefisienan c. Efisiensi I / O Terdapat dua pertimbangan yaitu: a). I / O ( Input / Output ) berpengaruh terhadap pemakaian, apakah pemakai cukup jelas dengan pemakaian input dan mudah dimengerti, begitu pula dengan output. b). I / O yang berpengaruh secara langsung terhadap mesin. G. Bahasa Pemrograman Bahasa pemrograman merupakan sarana yang digunakan untuk berkomunikasi antara manusia dengan mesin komputer. Karakteristik dari bahasa pemrograman mempunyai pengaruh yang penting dari kualitas komunikasi, begitu pula kerekayasaan bahasa pemrograman nempunyai pengaruh penting terhadap berhasil tidaknya suatu program yang akan dibuat, maka dari itu bahasa pemrograman harus tepat dan sesuai dengan permasalahan yang ada. Kriteria yang digunakan dalam mengevaluasi pemilihan bahasa pemrograman : a. Bidang aplikasi yang sedang dikerjakan. b. Kekompleksan algoritma dan perhitungan. baik dalam pelaksanaan perintah maupun penyimpanan data.

c. Lingkungan dimana perangkat lunak akane. Kebersediaan kompiler yang baik.

diterapkan.

d. Pengetahuan staf akan bahasa pemrograman.

H. a.

Testing dan Debugging Testing

14

Menguji program sampai dipenuhi bebas error lewat bermacam-macam kondisi atau dengan input yang hasilnya dapat diprediksi. Testing tidak dapat secara absolut bisa yakin bahwa program adalah benar. Untuk program besar bisa jadi setelah dipakai sekian lama kemudian ditemukan error. Untuk logical error komputer tidak dapat memprediksinya. b. Debugging Mengoreksi error yang terdeteksi meliputi menetapkan lokasi kode yang error dan mengoreksinya. I. Dokumentasi Dokumentasi merupakan informasi dan gambaran tambahan yang sangat membantu untuk memahami sebuah kode yang diberikan. Tujuannya:

a. b.

Memeriksa kesalahan atau agar tidak terjebak dalam kesalahan yang sama. Menambahkan kekurangan atau sebagai pengingat pada saat pengembangan sistem yang akan digunakan sekarang dari sistem sebelumnya. Dokumentasi dibedakan menjadi dua: a) Dokumentasi internal Merupakan bagian kode, hanya merupakan eksplanasi dari berbagai aspek lewat komentar. b) program. Dokumentasi eksternal Dalam bentuk manual dan catatan-catatan penting tentang

J.

Pemeliharaan Pemeliharaan perangkat lunak digunakan untuk menjabarkan aktivitas dari analisis sistem pada saat perangkat lunak telah dipergunakan oleh pemakai. Aktivitas yang terjadi pada fase pemeliharaan: a. Penambahan atau peningkatan atau juga perbaikan untuk perangkat lunak, yang meliputi: b) Penambahan fungsi-fungsi baru.

15

c) Perbaikan tampilan. d) Perbaharui dokumentasi internal dan eksternal. e) Perbaharui karakteristik dari sistem. b. Adaptasi perangkat lunak dengan lingkungan mesin baru, meliputi: a) Pemindahan berlainan. b) Modifikasi untuk menggunakan protokol atau disk drive tambahan. c. a) Perbaikan masalah yang timbul, meliputi: Pembenaran kesalahan yang timbul setelah perangkat lunak digunakan oleh pemakai. Aktifitas pemeliharaan seringkali terjadi karena asumsi yang salah pada saat pengujian perangkat lunak, yaitu kesalahan-kesalahan yang tersembunyi pada perangkat lunak yang cukup besar, oleh karena itu pemeliharaan perangkat lunak dapat dibedakan menjadi: Corrective maintenance Biasanya terjadi pada saat perangkat lunak dipakai atau hasil yang didapat oleh pemakai tidak sesuai, biasanya kesalahan yang timbul pada saat keluaran yang tidak sesuai. perangkat yang dibuat. Prefective Maintenance Biasanya terjadi pada saat perangkat lunak yang telah dibuat, dilakukan pengujian dan kemudian digunakan oleh pemakaian dan setelah digunakan timbul permintaan tambahan fungsi sesuai dengan keinginan pemakai. Adaptive maintenance Biasanya terjadi karena adanya perkembangan dari lunak atau perangkat lunak (mesin) sehingga memerlukan modifikasi dari perangkat lunak perangkat lunak ke mesin baru atau yang

16

Preventive Maintenance Biasanya seiring dengan perkembangan dari

perangkat lunak atau perangkat keras di masa mendatang, misalnya saja penambahan fungsi-fungsi atau untuk melengkapi fungsi-fungsi yang telah ada. 2.5 Pengenalan Program Pascal Borland Turbo Pascal For Windows 7.0 lebih berdaya guna dibandingkan dengan kompiler yang terdahulu, sebab akan lebih mudah dalam menyusun program. Pada bagian ini akan dipelajari bagaimana menggunakan menu-menu IDE (Integrated Development Environment) dan windows.

Gambar 2.4 tampilan IDE pascal

IDE Pascal terdiri dari tiga bagian utama : 1. Menu Sistem. Menu sistem memberikan kemudahan akses beberapa keistimewaan Borland Turbo Pascal. Untuk menggunakan utility ini dapat dipilih menu bar (gambar 2.4) Perintah-perintah menu bar dapat digunakan untuk mengakses kelompok utility atau hal-hal yang lain. 2. Window sistem. Window sistem adalah bagian yang sering dan tampak digunakan pada program ini. Windows memungkinkan untuk mengedit program, debugging, dan melihat hasil running program. Windows yang lain memungkinkan untuk melihat option utility atau menampilkan pesan

17

yang penting. Gambar 2.4 menunjukkan edit window yang dapat digunakan untuk memodifikasi program. 3. Status bar. Pada bagian bawah layar, status bar biasanya menunjukkan satu baris menu help, lokasi kursor, flag modifikasi berkas, dan mode sisip. 4. Toolbar. Sedikit dibawah menu, terdapat sekelompok tombol kecil yang digunakan untuk akses secara cepat, sehingga toolbar dapat disebut juga dengan speedbar. Bila mouse menunjuk pada salah satu tombol, maka secara otomatis akan menunjukkan baris status tentang deskripsi dari tombol tersebut.

2.5.1

Menu system

Sistem menu berisi tentang utiity dan keistimewaan yang diperlukan untuk menangani efisiensi perintah pemrograman. Terdapat beberapa fasilitas dalam menu sistem yang dapat digunakan melalui menu bar , yaitu sebagai berikut : 1. A. Menu File. Dalam menu file terdapat beberapa perintah, seperti ; New. Perintah New berfungsi untuk membuka Edit window baru dengan nama NONAMExx.PAS (xx merupakan nomor dari 00 sampai 99) perintah ini secara otomatis menyebabkan edit window aktif. B. C. Open. Perintah Open memperlihatkan kotak dialog file Save. Perintah Save menyimpan file yang aktif dalam open. Dalam kotak dialog, anda dapat memilih file yang ingin dibuka. Edit window. Jika file yang ingin disimpan tanpa nama (seperti NONAME00.PAS), Turbo Pascal secara otomatis akan membuka kotak dialog File Save As sehingga anda dapat membuat nama baru untuk file yang akan disimpan. D. Save As. Perintah Save As berfungsi untuk membuka kotak dialog File Save As, dimana anda dapat menyimpan file pada ada pada Edit window yang aktif dengan nama yang berbeda, direktori yang berbeda, atau dalam drive yang berbeda. E. F. Save All. Perintah Save All berfungsi untuk menyimpan Print. Perintah Print berfungsi untuk mencetak seluru seluruh file yang ada pada jendela Edit. isi dari jendela Edit yang aktif.

18

G. digunakan. H. Pascal. I.

Print setup. Perintah Print Setup memperlihatkan kotak

dialog Select printer, dimana anda dapat memilih printer mana yang akan Exit. Perintah Exit berfungsi untuk keluar dari Turbo List of Closed File. Perintah ini berfungsi saat anda

menutup file selama proses editing ( dengan menekan, Ctrl+F4), maka file tersebut akan terdaftar pada bagian bawah File menu, sehingga cepat untuk dibuka kembali. 2. Edit Menu. Terdapat beberapa perintah dalam menu Edit yaitu : sebelumnya. Perintah Undo menyisipkan kembali karakter yang telah terhapus, menghapus karakter yang telah disisipkan, meletakkan kembali karakter yang telah ditimpa, dan meletakkan kembali pointer pada posisi awal. B. Redo. Perintah ini memiliki efek sebaliknya dari dari Undo. Sangat efektif jika digunakan segera setelah Undo atau Redo sebelumnya. C. Cut. Perintah Cut berfungsi untuk menghapus teks yang dipilih dan meletakkannya pada Clipboard. D. Paste. Perintah Paste berfungsi untuk menyisipkan teks dari Clipboard ke dalam dokumen aktif, dimana posisi kursor diletakkan. E. Clear. Perintah ini berfungsi menghilangkan teks tetapi tidak diletakkan pada Clipboard. 3. yaitu : A. B. Find. Perintah Find memperlihatkan kotak dialog Find Replace. Perintah Replace memperlihatkan kotak dialog Text, dimana anda dapat memilih jenis dari teks yang ingin dicari. Replace Text, dimana anda dapat memilih jenis teks yang ingin dicari dan menggantinya dengan teks yang telah diketik pada kotak Replace Text. C. Search Again. Perintah ini mengulangi perintah Find atau Replace yang terakhir. Menu Search. Terdapat beberapa perintah dalam menu Search, A. Undo. Perintah Undo mengembalikan naskah atau gerakan dari kursor

19

D.

Go to Line Number. Perintah ini memperlihatkan kotak

dialog Go to Line Number, yang mana dengan cepat mencari nomer baris yang ingin anda temukan. E. Show Last Compile Error. Perintah Show Last Compile Error menemukan lokasi dari susunan terakhir yang salah. Kursor berpindah ke baris dimana letak penyebab kesalahan. F. error baru. 4. A. Run Menu. Terdapat beberapa perintah dalam menu Run, yaitu : Run. Perintah Run menjalankankan program, dengan menggunakan parameter lain yang anda jalankan. Jika sumber kode telah diperbaharui sejak penyusunan terakhir, susunan tersebut akan secara otomatis membuat dan menghubungkan program anda. B. C. Debbuger. Perintah Debugger berfungsi memulai Turbo Parameters. Perintah Parameters menjalankan Debugger for Windows sehingga anda dapat men-debug program anda. parameter untuk program anda ketika anda menjalankannya hanya jika anda telah menjalankannya dari Program Manager's File. 5. A. B. aturan tertentu. C. baru. D. Primary File. Perintah Primary File memperlihatkan kotak dialog Primary File, dimana anda telah menetapkan pilihan dengan file .PAS akan disusun ketika anda memilih Compile. E. Clear Primary File. Perintah Clear Primary File menghilangkan nama dari file utama anda yang ditetapkan dengan perintah Compile. Build. Perintah build berfungsi membangun kembali semua komponen dari program anda, tanpa memperhatikan apakah itu Compile Menu. Perintah-perintah yang terdapat dalam menu Compile. Perintah Compile berfungsi menyusun file di Make. Perintah Make membuat file .EXE dengan aturanCompile, yaitu: jendela yang aktif. Find Error. Perintah Find Error memperlihatkan kotak dialog Find Error , dimana anda dapat menetapkan alamat dari run-time

20

F.

Information. Perintah Information menunjukkan kotak

Compile Information, dimana memberitahukan nama dari file utama anda dan nama dari file terakhir yang disusun. 6. adalah: A. Compiler. Perintah Compiler menampilkan kotak dialog Compiler Options, dimana anda memilih pilihan yang mempengaruhi penyusunan kode. B. Linker. Perintah Linker menampilkan kotak dialog Linker Options, dimana anda memilih pilihan perintah, bagaimana file program anda dapat terhubung. C. Directories. Perintah Directories membuka kotak dialog Directories, dimana anda telah menetapkan direktori dari Turbo Pascal ketika program tersebut bekerja dan menyimpan program tersebut. D. Highlight. Perintah Highlight menampilkan kotak dialog Highlight, yang mana anda diizinkan menetapkan elemen kode yang berbeda pada program anda yang ditampilkan dalam naskah editor Turbo Pascal. E. Preferences. Perintah preferences membuka kotak dialog preferences, yang mana anda dapat membuat pilihan tentang penampilan fisik dan nonfisik dari lingkunan Turbo Pascal. F. baru. G. Save. Perintah Save menyimpan nama file utama, letak yang dipilih dengan menu Options, dan susunan desktop ke dalam file konfigurasi saat itu. H. Save As. Perintah Save As membuka kotak dialog Configuration Save As, dimana anda dapat memasukkan nama baru untuk file yang disusun. 7. A. Window Menu. Menu Window berisi tampilan perintah-perintah Cascade. Perintah ini digunakan untuk mengatur letak sebagai berikut : dari jendela-jendela yang dibuka secara bersamaan. Open. Perintah Open menampilkan kotak dialog Open Configuration File, dimana anda mendapatkan kembali susunan letak file Option Menu. Perintah yang ditampilkan dalam menu Option,

21

B. C.

Tile. Perintah ini berfungsi memperbesar file yang dibuka Arange Icons. Perintah Arrange Icons berfungsi untuk

sehingga dapat menutupi seluruh desktop. menyusun kembali Icons. Icons yang disusun kembali tetap pada tempat tersebut, terletak di ujung kiri dari desktop. D. 8. A. B. yang aktif. C. D. Using Help. Perintah ini berfungsi untuk menampilkan Compiler Directives. Ketika memilih perintah ini, anda informasi bagaimana cara menggunakan sistem Turbo Pascals Help. akan melihat Index dari Compiler Directives. Perintah Compiler Directives memiliki beberapa keistimewaan : a. b. c. Dapat memilih susunan fitur on atau off. Dapat menetapkan parameter yang Close All. Perintah Close All berfungsi menutup semua Help Menu. Menu Help berisi tampilan perintah-perintah, yaitu : Index. Pilihan ini digunakan untuk menampilkan on-line Topik Search. Pilihan ini digunakan untuk menampilkan help dengan terlebih dahulu memilih Index dari topik yang akan dilihat. on-line help berdasar kata dimana kursor saat itu berada pada jendela file yang dibuka pada desktop.

mempengaruhi bagaimana program anda tersususn. Kontrol yang lain memperlihatkan penyusunan bersyarat dari program. Compiler directive adalah komentar dengan kalimat (syntax) khusus dalam program anda dimanapun komentar tersebut diizinkan. E. F. ObjectWindows. Ketika anda memilih perintah ini, anda Procedures and Functions. Ketika anda memilih perintah akan melihat hirarki dari ObjectWindows. ini, anda akan melihat Index dari seluruh perpustakaan Turbo Pascal, prosedur dan fungsinya sehingga dapat digunakan acuan dalam membuat program. G. Reserved Words. Perintah ini menampilkan seluruh Index dari cadangan kata dalam bahasa Turbo Pascal.

22

H. I. J.

Standard Units. Ketika anda memilih perintah ini, anda Turbo Pascal Language. Perintah ini menampilkan daftar Windows API. Ketka memilih perintah ini, anda dapat

akan melihat unit standar dari Turbo Pascal. dari elemen yang membuat bahasa Turbo Pascal. melihat Index yang konstan, gaya, pesan, jenis, fungsi, dan prosedur yang dapat membuat Windows Application Programming Interface (API). K. About Turbo Pascal. Ketika memilih perintah ini, akan ditampilkan kotak dialog, memperlihatkan hak cipta dan informasi versi dari Pascal yang digunakan. 2.5.2 Fungsi Tombol Pada Toolbar Keterangan Menu

Tombol Equivalen

Menampilkan hubungan-sensitif Help Mencari dan membuka file

None Open

Menyimpan file di jendela aktif

Save

Pencarian teks

Search

Mengulang operasi Find atau Replace yang terakhir Search Again

Memotong teks dan meletakkannya di Clipboard Cut

Meng-copy teks yang dipilih dan meletakkannya di Clipboard Copy

23

Meletakkan teks yang di copy pada dokumen aktif dari Clipboard Mengembalikan naskah kekeadaan sebelumnya Undo Paste

Menusun file pada jendela yang aktif

Compile

Membuat target utama

Make

Keluar dari Turbo Pascal

Exit

2.5.3 dibawah ini :

Mengenal Directories Borland Turbo Pascal 7.0

Borland Turbo Pascal memiliki beberapa directory seperti gambar

Gambar 2.5 Derectories Pascal

24

Berikut akan dijelaskan fungsi dari masing-masing directory dari Borland Turbo Pascal : 1. 2. 3. ObjectWindows. Item ini akan mengganti directory untuk file Windows 3.1 File. Item ini akan mengganti directory untuk Pens Windows Directory. Item ini akan menentukan directory ObjecWindows Library, Windows 3.1 unit interface. yang digunakan untuk menyimpan file Pens Windows. File ini mengizinkan anda untuk mengembangkan aplikasi Pens Aware menggunakan standar Microsoft Mouse. 4. 5. Resource Workshop Directory. Item ini akan megganti BWCC.DLL Directory. BWCC.DLL akan menyimpan dalam directory untuk file dan program Resource Workshop Directory. directory. Kita secara normal akan menerima jumlah kesalahan (sistem Windows directory anda). Bagaimanapun juga anda diperbolehkan untuk memilih directory yamg berbeda untuk menghindari penempatan ulang BWCC.DLL yang sudah ada. 6. 7. Windows. 8. 9. 10. 11. 12. Utility and Runtime Library Doc Directory. Item ini akan Object Windows Library Demos Directory. Item ini digunakan Turbo Pascal and Windows Demos Directory. Item ini akan Documentation Demos Directory. Item ini akan menganti Resource Workshop Demo Directory. Item ini akan mengganti mengganti directory untuk file dokumentasi Utility and Runtime. untuk mengganti directory program Object Windows Directory Demo. megganti directory untuk demo program Turbo and Windows. directory untuk demo Documentation. directory file demo Resource Workshop. Utilities Directory. Item ini akan mengganti untuk program dan Turbo Debugger Directory. Item ini akan mengganti directory file istimewa dari Turbo Pascal. yang digunakan untuk menyimpan Turbo Debugger untuk program dan file

25

BAB III DASAR PENGGUNAAN BAHASA PEMROGRAMAN 3.1 Tujuan Adapun tujuan dari diadakannya praktikum ini antara lain: 1. C++. Mengetahui dan memahami penggunaan menu-menu dasar yang ada pada masing-masing bahasa pemrograman khusunya Pascal atau

2.

Memahami proses pembuatan program komputer mulai dari

pemahaman masalah, melakukan perancangan algoritma (flowchart), coding, testing, dan debugging. 3. Memahami gaya pemrograman (seni penulisan program) yang baik dan bisa menerapkannya dalam setiap melakukan pembuatan program.

26

4.

Memahami pengguaan statemen kontrol khususnya if..., if....,

else... 3.2 Tinjauan Pustaka Pada bab tinjauan pustaka ini akan kami coba untuk menjelaskan secara singkat mengenai materi-materi yang terkait dengan pembuatan program dan pelaksanaan praktikum ini. 3.2.1 Pemrograman dan Bahasa Pemrograman. Pemrograman yaitu suatu proses untuk membuat atau menerjemahkan sesuatu masalah kedalam bahasa komputer. Dimana dalam proses tersebut harus terdapat proses-proses lagi untuk dapat mendefinisikan masalah yang ingin kita pecahkan. Oleh karena itu didalam pemrograman ini diperlukan sarana berupa bahasa pemrograman. Bahasa pemrograman adalah bahasa yang khusus dibuat untuk menulis program agar dapat dibaca oleh komputer. Terdapat berbagai jenis bahasa pemrograman di jaman sekarang ini. Diantaranya terdapat bahasa Pascal, bahasa C, Visual Basic, Java, Delphi, dan lain sebagainya. Bahasa-bahasa pemrograman dapat dikelompokkan menjadi: Berdasarkan tingkat atau level: 1. 2. Bahasa level rendah. Contohnya adalah bahasa mesin. Bahasa level menengah adalah bahasa pemrograman yang mirip

seperti bahasa mesin tapi telah dapat dimengerti manusia. Contohnya adalah bahasa assembly. 3. Bahasa level tinggi adalah bahasa pemrograman yang telah berstruktur kata-kata yang sesuai dengan bahasa manusia. Contohnya adalah bahasa Basic, Fortran, Pascal, C++, dll. 4. Berdasarkan tujuan pemakaiannya: A. Bahasa bertujuan khusus (special purpose language). Contoh: bahasa Fortran untuk perhitungan numeris bahasa Prolog untuk kecerdasan buatan B. Bahasa bertujuan umum(general purpose language). Contoh: Pascal, Basic, C++, dll. Dalam pelaksanaan praktikum ini digunakan beberapa dasar teori antara lain teori yang digunakan dalam pembuatan program dengan Pascal dan teori yang digunakan dalam penyelesaian masalah dalam soal.

27

Berikut adalah dasar teori yang digunakan saat bekerja membuat program modul 1 ini 3.2.2 Pengertian Algoritma Algoritma adalah langkah-langkah logis atau urutan langkah-langkah logis yang disusun secara sistematik untuk menyelesaikan suatu permasalahan. Lima ciri penting dari algoritma, yaitu: 1.Algoritma harus berhenti setelah mengerjakan suatu langkah-langkah sifatnya terbatas dan harus ada terminal mulai. yang

2.tidak memiliki arti

Algoritma harus didefinisikan secara jelas dan tepat serta ganda.

3.Algoritma memiliki nol atau lebih masukan ( input ). 4.Algoritma memiliki nol atau lebih keluaran ( output ). 5.Algoritma harus efektif dan setiap langkah-langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang cepat. Ada tiga cara untuk menyatakan suatu algoritma, yaitu: A. B. C. Notasi kalimat deskriptif. Dengan notasi bagan alir (flowchart). Dengan pseudecode. mengalami

Di dalam memahami bahasa pemrograman, banyak orang

hambatan dan kesulitan dalam mengembangkan sebuah perangkat lunak. Hal tersebut dapat terjadi dikarenakan orang tersebut tidak melalui tahapan-tahapan yang harus diikuti di dalam menguasai bahasa pemrograman. Adapun tahapantahapan tersebut adalah : 1. Membaca Masalah Tahapan membaca masalah ini sama dengan mendifinisikan permasalahan yang telah di bahas pada tahap pertama diatas. 2. Analisis Setelah kita mendapatkan permasalahan kita dapat menentukan analisa apa saja yang harus kita inputkan, dan dapat menentukan apa saja output yang diperlukan dalam program, serta batasan atau informasi tambahan. 3. Perancangan

28

Tahap ini merupakan tahap yang dilakukan di dalam merancang atau menyelesaikan suatu masalah (algoritma) yang sering digambarkan dalam bentuk flowchart. Tahap ini merupakan tahap yang cukup sulit. Karena itu jangan menyelesaikan masalah secara detail di tahap awal, tetapi gunakan metode top down design (devide and conquer), yaitu dengan memecah problem dalam beberapa subproblem. Penyelesaian problem diperoleh dengan menyelesaikan sub-subproblem. Subproblem bisa berupa sistem terbuka atau sistem tertutup. Sistem terbuka adalah suatu sistem yang terdiri dari membaca data dari keyboard atau file, melakukan proses data baik secara sequential, conditional, atau repetition, dan menampilkan hasil ke layar monitor atau ke file, Sistem tertutup adalah suatu sistem yang terdiri dari melakukan proses data baik secara sequential, conditional, atau repetition, dan menampilkan hasil ke layar monitor atau ke file. 4. Testing Melakukan pengecekan apakah algoritma yang telah kita buat tersebut benar, dengan mencoba berkali-kali dengan data yang berlainan untuk menyimpulkan apakah perangkat lunak yang dibuat masih mengandung error (kesalahan) atau tidak 5. Implementation Implementasi adalah tahap menerjemahkan tiap-tiap langkah yang ada pada algoritma ke dalam bahasa pemrograman. 3.2.3 Bagan Alir Program (Program flowchart) Bagan alir program (Program flowchart) merupakan bagan yang alir menjelaskan secara rinci langkah langkah dari proses program. Bagan bagan alir program.Tabel 3.1 simbol-simbol flowchart

program dibuat dari derifikasi bagan alir sistem. Berikut symbol-simbol dalam

SIMBOL

NAMA terminator

FUNGSI Permulaan/akhir program

29

garis alir preparation

Arah aliran program Proses inisialisasi/pemberian harga awal Proses perhitungan/proses pengolahan data Proses input/output data, parameter, informasi Permulaan sub program/proses menjalankan sub program Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya Penghubung bagian-bagian flowchart yang berada pada satu halaman Penghubung bagian-bagian flowchart yang berada pada halaman berbeda Tempat untuk menyatakan

proses input/output data predefined process

decision

on page connector off page connector

document

adanya dokumen tambahan yang diinput

3.2.4 Menulis dalam bahasa pemrograman tahapan ini adalah tahapan penterjemahan dari algorima yang telah kita buatke dalam bahasa pemrograman. Dalam menulis algoritma ke dalam bahasa pemrograman ini, kita harus mengetahui bagian-bagian dalam c++ atau pascal serta seni dalam menulis program. Gaya atau seni dalam menulis suatu program dan alasan perlunya memperhatikan gaya atau seni penulisan program ini. Dalam bahasa Pascal, kita lebih leluasa dalam menulis suatu program. menulis suatu program. Contoh 1 : Namun tentu saja dibalik keleluasaan tersebut, kita juga harus memperhatikan gaya atau seni dalam

30

PROGRAM contoh _1; BEGIN Writeln (SELAMAT BELAJAR); Writeln (SEMOGA BERHASIL); END.

Contoh 2 :PROGRAM contoh _1; BEGIN Writeln (SELAMAT BELAJAR); Writeln (SEMOGA BERHASIL); END.

Gaya penulisan pada contoh 2 merupakan bentuk lain dari penulisan program pada contoh 1. kedua contoh diatas menunjukkan bahwa gaya penulisan program sebenarnya bebas. Dalam bahasa Pascal, kedua bentuk contoh gaya penulisan tersebut sama saja, tetapi tidak demikian halnya dengan manusia. Pada contoh 2, gaya penulisan programnya lebih mampat, akan membuat program tersebut lebih sulit dibaca oleh manusia. Apalagi bila program berisi berpuluh-puluh atau bahkan beratus-ratus pernyataan. Program memang ditulis untuk ditujukan kepada komputer. Tetapi program juga untuk dibasa dan dipahami oleh orang, walaupun hanya untuk penulis program itu sendiri. Kerena itu, kejelasan suatu program akan sangat membantu pengguna dalam membaca dan memahami program tersebut. Terlebih lagi jika program tersebut dimaksudkan untuk dibaca dan agar dapat dimodifikasi orang lain. Sebuah pernyataan sebenarnya boleh saja ditulis lebih dari satu baris. Dan dalam menuliskan program, sebuah baris dapat terdiri atas beberapa pernyataan. Yang penting, antara satu pernyataan dan pernyataan lain dipisahkan oleh tanda titik koma. Namun akan lebih baik lagi jika dalam satu baris hanya terdapat satu pernyataan, dan dibatis berikutnya batu ditampilkan pernyataan lainnya. Contoh 3 :Writeln (SELAMAT BELAJAR); Writeln (SEMOGA BERHASIL);

Contoh 4 :Writeln(SELAMAT BELAJAR);Writeln(SEMOGA BERHASIL);

Setelah melihat contoh 3 dan contoh 4, tentu kita dapat menyimpulkan bahwa gaya penulisan program pada contoh 3 lebih mudah dibaca dan dipahami jika dibandingkan dengan gaya penulisan pada contoh 4.

31

Karakter spasi sesudah atau sebelum tanda titik koma bersifat opsional. Kita dapat memberikannya ataupun tidak sama sekali. Begitu juga dengan baris kosong. Untuk program yang besar, pemberian kosong antar kelompok pernyataan akan membuat program menjadi lebih mudah dibaca dan dipahami. Contoh 5 :Hasil := 2* 5 + 7 4 + (1* 3);

Sebuah program yang baik adalah : 1. program yang mudah dibaca dan dapat dipahami oleh orang lain

2. program yang bukan ditulis semampat mungkin, walaupun dengandemikian kita dapat menghemat memory beberapa byte. Pernyataan majemuk yaitu pernyataan-pernyataan yang terletak antara BEGIN dan END ditulis secara terstruktur, yaitu ditulis dengan sedikit masuk ke kanan dari letak BEGIN dan END. Contoh 6 :BEGIN Writeln (SELAMAT BELAJAR); Writeln (SEMOGA BERHASIL); END.

Inti yang dapat kita simpulkan atas penjelasan mengenai gaya penulisan suatu program di atas adalah : 1. Seni penulisan program bertujuan untuk memudahkan pembaca mengertikan dan memahami program yang kita buat.

2. Dalam penulisan script program Pascal, pasangan reserved word sepertibegin-end dan repeat-until diketik sejajar, sedangkan statemen-statemen di antaranya ditulis menjorok agak ke dalam dengan menggunakan tabulasi.

3. Titik-koma selalu diletakkan pada akhir setiap baris perintah yang memerlukan.3.2.5 Uji coba, testing dan debugging Uji coba, testing, debugging merupakan tahapan Melakukan pengecekan apakah program yang telah kita buat tersebut benar, yaitu dengan mencoba menjalankan program tersebut. Dan jika terjadi melakukan debugging yaitu upaya untuk mencari logika. kesalahan kesalahan maka pada kita program kesalahan

yang telah kita buat. Dimana kesalahan ini umumnya

merupakan

32

3.2.6 Dokumentasi Hal ini biasanya dilakukan bersamaan dengan menulis program, artinya pada setiap baris program atau setiap beberapa baris program,kita menambahkan komentar yang menjelaskan kegunaan dari suatu pernyataan. Dokumentasi ini berfungsi penting, apabila kita perlu melakukan perubahan atau perbaikan terhadap suatu program terdahulu. Dokumentasi ini biasanya dijadikan satu dalam program, berupa komentar-komentar pendek. 3.2.7 Perawatan program Langkah ini dilakukan setelah program selesai dibuat dan sudah digunakan oleh pengguna. Mungkin saja sewaktu-waktu kita harus terhadap program yang telah kita buat. 3.2.8 If...Then Teori ini digunakan untuk mencegah agar nilai yang dimasukkan tidak melenceng dari yang diharapkan. Pernyataan ini digunakan untuk menguji suatu kondisi, jika kondisi tersebut benar, maka program dapat menjalankan pernyataan-pernyaataan tertentu. melakukan revisi

Sintak dan flowchart satatemen kontrol If...Then secara umum:if Then

Jika statemennya labih dari satu, maka sintaknya ditambahakan begin danend; sebagai berikut: If (kondisi) then Begin Statement_1; Statement_2; End;

33

Kondis i Y Pernyataa n

N

Gambar 3.1 Flowchart If...Then

Contoh penggunaan IfIf (x>0) then Writeln (x adalah bilangan positif);

3.2.9 Pernyataan Ifelse Pernyataan If...else digunakan untuk menguji sebuah kondisi. Bila kondisi yang diuji benar maka program akan menjalankan pernyataan-pernyataan tertentu, sedangkan jika kondisi yang diuji salah maka program akan menjalankan pernyataan yang lain.

Sintaks dan flowchart Bentuk Umum :if (Kondisi) Then BlockStatement1;{jika kondisi benar} Else BlockStatement2;{jika kondisi salah}

Kode program 3.1 sintaks if then

Kondisi N Pernyataan2

Y

Pernyataan1

34

Gambar 3.2 Flowchart IfThenElse

Contoh penggunaan If

If (x>0) then Writeln (x bilangan positif); Else Writeln (x bilangan negatif);

Kode program 3.2 contoh if then

3.2.10 Menghitung Gaji Karyawan Dalam suatu perusahaan terdapat tingkatan-tingkatan jabatan yang mempengaruhi perhitungan gaji dan tunjangan bagi karyawannya. Begitu juga dengan perhitungan upah lembur yang diterima. Seperti soal pada Perusahaan PT. Bali Qui Asih mengelompokkan karyawannya berdasarkan Jabatan (Coorperate Title) untuk sistem pengupahan menjadi 7 grade, yaitu :Tabel 3.2 Gaji Karyawan

Grade 0 1 2 3 4 5 6

Coorperate Title Helper Staff Officer Supervisor Assistant manager Manager General manager

Gaji pokok / Bulan Rp. 850.000,Rp. 1.400.000,Rp. 1.700.000,Rp. 2.350.000,Rp. 3. 775.000,Rp. 5.150.000,Rp. 10.350.000,-

Tunjangan jabatan Rp. 0,Rp. 0,Rp. 0,Rp. 0,Rp. 1.050.000,Rp. 2.150.000,Rp. 4.100.000,-

Lembur Dapat Dapat Dapat Dapat Tidak Tidak Tidak

Berdasarkan ketentuan sesuai tabel di atas, maka perhitungan gaji yang didapat oleh masing-masing karyawan sesuai dengan jabatannya : o Jam kerja maksimum = 173 /bulan

35

o o o o

Jika jam kerja > 173 ,maka dianggap lembur. Jam lembur maksimum/bulan = 40 jam, jika lebih dari 40 jam tidak Rumus Upah lembur = gaji pokok/173 * jam lembur Rumus total gaji = gaji pokok + upah lembur + tunjangan jabatan Persamaan kuadrat ax2 + bx + c dapat diselesaikan menggunakan rumus

diperhitungkan.

3.2.11 Menghitung Persamaan Kuadrat persamaan sebagai berikut :x1,2 = b b 2 4ac 2a

Dari rumus diatas dapat diperoleh akar persamaan yang memiliki nilai yang ditentukan oleh determinan. Aturan determinan adalah seagai berikut : A. Jika D bernilai 0 maka persamaan akan menghasilkan akar kembar. B. Jika D bernilai lebih besar dari 0 maka persamaan akan menghasilkan Jika D bernilai lebih kecil dari 0 maka persamaan akan menghasilkand dan x2 = -b/2a - j 2a d 2a

akar x1 dan x2 yang berbeda.

C.

akar imajiner dimana x1 = -b/2a + j

3.3 Pembahasan dan Analisa3.3.1 Algoritma program 3.3.1.1 Algoritma Program Gaji Karyawan Algoritma program utama : 1. Mulai 2. Masukkan Nama 3. Masukan Nomor Grade 4. Masukkan total jam kerja sebulan 5. Jika nomor grade lebih besar atau sama dengan 3, maka kerjakan langkah 6 jika tidak kerjakan langkah 12. 6. Jika totjam kurang dari atau sama dengan 173, maka x 0 Selain itu, xtotjam -173 7. Jika x lebih besar dari 40, maka x40 Selain itu, xx

36

8. Maka Lembur dan tg dicari dengan langkah 9, 10 dan 11 9. Lembur gapok /173*x 10. tg gapok+Tunjab+Lembur 11. Tampilkan Nama,coti, gapok,lembur, tg 12. Maka tg dapat dicari dengan tg gapok+tunjab 13. Tampilkan perintahCoba Sekali Lagi (Y/N) 14. Jika input tidak sama dengan y, maka ulangi langkah 1 Jika tidak, maka lanjutkan program 15. Selesai 3.3.1.2 Algoritma Persamaan Kuadrat Algoritma program utama : 1. Mulai 2. Masukkan a, b, c 3. lakukan proses pada D b*b-4*a*c 4. Jika D sama dengan 0, maka tulis x1 ((-b)/(2*a) 5. Tampilkan perintahMemiliki Akar Kembar Riil yaitu X1 sama dengan X2 6. Selain itu, jika D lebih besar dari 0 maka tampilkan perintahMemiliki Akar Riil Yang Berbeda 7. Lakukan proses untuk X1 -b+sqrt(D)/2*a, X2 -b-sqrt(D)/2*a 8. Selain itu, jika D lebih kecil dari 0 maka tampilkan perintahMemilki Akar Imajiner 9. Lakukan proeses untuk X1 (-b)/2*a, Xr sqrt(-D)/2*a 10. Tampilkan perintahCoba Sekali Lagi (Y/N) 11. Jika input tidak sama dengan y, maka ulangi langkah 1 12. Jika tidak, maka lanjutkan program. 13. Selesai 3.3.1.3 Flowchart A. Flowchart gaji

37

Start

Gapok,tunjab,totjam : longint Nama,coti : string lembur,x,tg : real

Input Nama,totjam, no grade

y Grade=0 n y Grade=1 n y Grade=2 n y Grade=3 n y Grade=4 n y Grade=5 n y Grade=6 n No grade salah

Coti helper Gapok Rp 850.000 Tunjab 0

Coti staff Gapok Rp 1.400.000 Tunjab 0

n Grade 173 n y

Coti supervisor Gapok Rp 2.350.000 Tunjab 0

X totjam - 173

y Coti assistant manager Gapok Rp 3.775.000 Tunjab Rp 1.050.000 X >= 40 Lembur gapok/ 173*40

n Coti manager Gapok Rp 5.150.000 Tunjab Rp 2.150.000 Lembur gapok/ 173*X

Coti general manager Gapok Rp 10.350.000 Tunjab Rp 4.100.000

Tg gapok + tunjab + lembur

Output : Coti, gapok, lembur, tg

y Coba lagi [y/t] n

End

Gambar 3.3 flowchart gaji karyawan

B. Flowchart persamaan kuadrat

38

Start

a,b,c,D,X1,X2 : real

Input a,b,c

Dsqr(b)-4*a*c

y D0 n y D=0 n y

output X1,X2 Akar imajiner

X1(-b) + sqrt(D)/(2*a) X2(-b) - sqrt(D)/(2*a)

Output X1,X2

X1-b/(2*a) X2-b/(2*a)

Output X1,X2 Akar kembar

Coba lagi [Y/T]

n

End

Gambar 3.4 flowchart pesamaan kuadrat

3.3.1.4 Program

39

A. Program Gaji Karyawanprogram gaji_karyawan; uses wincrt; type c=string; var nama,coti,x,y,G1:string; totjam,gapok,tunjab,jam_lembur:longint; writeln; kode:integer; grade:byte; if grade = 0 then lembur,tg:real; begin function ceknama (m:c) : boolean; coti := 'helper'; var gapok := 850000; nama : set of char; tunjab := 0; betul : boolean; end i: integer; else if grade = 1 then begin begin nama := ['a'..'z','A'..'Z']; coti := 'staff'; betul :=true; gapok := 1400000; for i:=1 to length (m) do tunjab := 0; if not(m[i] in nama ) then end begin else if grade = 2 then betul := false; begin i:= length (m); coti := 'officer'; writeln('Masukkan HURUF [A..Z]! '); gapok := 1700000; end; tunjab := 0; ceknama := betul; end end; else if grade = 3 then begin begin coti := 'supervisor'; repeat gapok := 2350000; clrscr; tunjab := 0; writeln(' ------PT.BALI QUI ASIH------end '); else if grade = 4 then writeln; begin repeat coti := 'asistan manager'; writeln; gapok := 3775000; write(' Nama Pegawai : '); tunjab := 1050000; readln(nama); lembur := 0; end until ceknama(nama); else if grade = 5 then Repeat begin Write ('Masukkan Nomer grade(1-6) : '); coti := 'manager'; ReadLn (x); gapok := 5150000; val (x,grade,kode); tunjab := 2150000; if (kode0) and (grade6) then lembur := 0; WriteLn ('Masukkan Salah !!!'); end until (kode=0) and (grade>=0) and (grade0) And (Tiga'000') Then Write(Eng[j],' '); End; If Bil='000' Then Write('zero '); End; Kode program 4.2 Prosedur Terbilang

Fungsi ini adalah bertugas untuk menyisipkan

kata thoousand

dilanjutkan dengan kata million, billion, trilliun, billiun pada hasil dari prosedur tigaan diantara masing-masing kelompoknya. Mekanismenya adalah selama hasil bagi panjang bilangan yang diinputkan dibagi 3 nilainya lebih besar dari 0, maka akan ada pemberian nilai pada nilai yang diinputkan yaitu dengan menambahkan karakter 0 di depan bilangan input tersebut. Hal ini dilakukan agar bilangan yang diinputkan setelah terbagi menjadi kelompok yang maingmasing terdiri dari 3 digit bilangan, di tiap kelompoknya tepat memiliki 3 digit anggota bilangan. satu Kemudian persatu anggota dengan tiap kelompok fungsi bilangan tigaan. akan diterjemahkan memanggil Setelah

menerjemahkan tiap kelompok bilangan maka prosedur tigaan ini akan

53

menyisipkan kata thoousand dilanjutkan dengan kata million, billion, trilliun, billiun diantara masing-masing kelompok bilangan yang diterjemahkan oleh prosedur tigaan. Program Konversi Suhu fungsi program suhuprogram konversi_suhu; uses wincrt; var t:real; no:byte; kode:integer; x,y:string; function C_ke_F (t:real):real; begin C_ke_f := 9/5 *t + 32; end; function C_ke_K (t:real):real; begin C_ke_K := t + 273; end; function C_ke_R (t:real):real; begin C_ke_R := 4/5 *t; end; function F_ke_C (t:real):real; begin F_ke_C := 5/9 *t - 32; end; function F_ke_K (t:real):real; begin F_ke_K := F_ke_C(t)+273; end;

54

function F_ke_R (t:real):real; begin F_ke_R := F_ke_C(t)*4/5; end; function K_ke_C (t:real):real; begin K_ke_C := t-273; end; function K_ke_F (t:real):real; begin K_ke_F := K_ke_C(t)*9/5+32; end; function K_ke_R (t:real):real; begin K_ke_R := K_ke_C(t)*4/5; end; function R_ke_C (t:real):real; begin R_ke_C := t*5/4; end; function R_ke_F (t:real):real; begin R_ke_F := R_ke_C(t)*9/5+32; end; function R_ke_K (t:real):real; begin R_ke_K := R_ke_C(t)+273; end;

Kode program 4.3 Program fungsi suhu

Fungsi ini untuk menentukan rumus konversi suhu,nanti fungsi akan dipanggil di program utama.

55

4.3.2 Algoritma 4.3.2.1 Algoritma Program Cek Algoritma Prosedur Terbilang : 1. Mulai 2. Hitung sisa hasil bagi panjang karakter bilangan input dibagi tiga 3. Jika sisa lebih besar dari 0 tambahkan karakter 0 di depan bilangan input. 4. Bagi bilangan input menjadi kelompok-kelomok yang masing- masing terdiri dari 3 digit bilangan. 5. Panggil prosedur tigaan untuk menerjemahkan masing-masing bilangan ditiap kelompoknya. 6. Copy hasil dari Fungsi Tigaan. 7. Sisipkan kata thoousand dilanjutkan dengan kata million, billion, trilliun, billiun diantara masng-masing kelompok bilangan yang diterjemahkan oleh prosedur tigaan. 8. Lakukan langkah 4,5,6 hingga kelompok bilangan terakhir. 9. Selesai Algoritma Prosedur Tigaan : 1. Mulai 2. Hasil 3. Uji kondisi karakter bilangan pertama sampai memenuhi salah satu kemungkinan yang ada. 4. Lakukan perintah sesuai dengan kemungkinan yang terpenuhi. Simpan hasil pada variabel hasil. 5. Uji kondisi karakter bilangan kedua sampai memenuhi salah satu kemungkinan yang ada. 6. Lakukan perintah sesuai dengan kemungkinan yang terpenuhi. Simpan hasil pada variabel hasil. 7. Uji kondisi karakter bilangan kedua sampai memenuhi salah kemungkinan yang ada. 8. Lakukan perintah sesuai dengan kemungkinan yang terpenuhi. Simpan hasil pada variabel hasil. 9. Selesai satu

56

Algoritma Program Utama : 1. Mulai 2. Masukkan input bilangan 3. Ulangi langkah 1 jika input tidak valid. 4. Panggil prosedur terbilang. 5. Tampilkan hasil dari prosedur terbilang. 6. Ulangi langkah 1 bila pengguna menekan tombol selain untuk menjawab pertanyaan Tekan untuk selesai, tombol lain untuk mengulang lagi. 7. Selesai 4.3.2.2 Algoritma Program Konversi Suhu Algoritma fungsi :

1.2. langkah 3, 4, 5

Mulai Apabila konversi dari celsius maka kerjakan Celsius ke Fahrenheit 9/5 *t + 32 Celsius ke Kelvin t + 273 Celsius ke Reamur 4/5 *t Apabila konversi dari fahrenheit maka kerjakan Fahrenheit ke Celsius 5/9 *t - 32 Fahrenheit ke Kelvin F_ke_C(t)+273 Fahrenheit ke Reamur F_ke_C(t)*4/5 Apabila konversi dari kelvin maka kerjakan Kelvin ke Celsius t-273 Kelvin ke Fahrenheit K_ke_C(t)*9/5+32 Kelvin ke Reamur K_ke_C(t)*4/5 Apabila konversi dari remur maka kerjakan Reamur ke Celsius t*5/4 Reamur ke Fahrenheit R_ke_C(t)*9/5+32 Reamur ke Kelvin R_ke_C(t)+273

3. 4. 5.6. langkah 7, 8 ,9

7. 8. 9.10. langkah 11, 12, 13

11. 12. 13. 14.langkah 15, 16, 17

15. 16. 17.

57

18. Algoritma program utama : 1. mulai 2. pilih besar suhu awal 3. masukkan besar suhu 4. panggil fungsi konversi suhu 5. konversikan suhu 6. cetak hasil 7. selesai

selesai

4.3.2.3 Algoritma Program Konversi Satuan 1. mulai 2. masukkan nilai 3. gross nilai div 144 4. x nilai mod 144 5. lusin x div 12 6. buah x mod 12 7. output gross, lusin, buah 8. selesai 4.3.3 Flowchart 4.3.3.1 Program Cek Flowchart Prosedur TigaanHasil string Start

Hasil

Bil [1] 0' Ya

Tidak

B [1] = 1 il

Tidak

Ya Bil [1] 1'

Hasil angka [bil [1]]+hundred

Hasil one hundred

B [2]0' il Ya

Tidak

Bil [2] 1 Ya B [2] = 2 il Tidak Ya Ya

Tidak

Hasil Hasil + twenty

B [2] = 3 il Tidak

Hasil Has + thirty il

B [2] = 5 il Tidak

Y a

Hasil Hasil + fifty

B [2] = 8 il Tidak

Ya

Hasil Hasil + eighty

Hasil hasil + angka [bil [2]] + ty

Y

58

Y

Bil [2] =1' Ya

Tidak

Bil [3] =0'

Ya

Hasil Hasil + ten

Tidak Ya

Bil[3] = 1

Hasil Hasil + eleven

Tidak Ya Bil[3]=2' Hasil hasil + twelve

Tidak Bil[3] = 3 Ya Hasil Hasil + thirteen

Tidak Bil[2] = 5 Ya Hasil Hasil+ fifeen

Tidak Ya

Bil[2] = 8 Tidak

Hasil Hasil+ eighteen

Hasil Hasil + angka [bil[3]] + teen

Bil[3]0'

Tidak

Ya Hasil Hasil + angka [bil[3]] +

Bil = 001

Tidak

Ya j=1 Ya Hasil one Output : Hasil End Tidak

Gambar 4.1 Flowchart Prosedur Tigaan

59

Flowchart Prosedur Terbilang

S tart

I ,j : shortin t Tiga : string[ 3] Bil : string

Len gth ) mod 3 > 0 (bil

Tidak

Ya B il 0 + bil

Tida k

I = len gth (bil) div 3 Ya Tiga Cop y(bil,3*i-2,3)

J

length (bil) div 3 - i

Tig aan

j >0

Tida k

Tiga 000

Tidak

Tiga = 000

Ya

Ya

Ya Hasil zero

Hasil

E ng[j],

E nd

Gambar 4.2 Flowchart Prosedur Terbilang

60

Flowchart Program Utama CekStart

Angka Array[1..9'] of string = (one..nine) Eng array [1..5'] of string = (thousandbiliun) Bil String i , e byte

e 1 X Input : Bil

i1

I = length(bil) Tidak

Ya

Ord(bil[i]) in [49..57]

Ya

Length (bil) > 18 Ya

Tidak

Bil = Ya

Tidak

Tidak e o

Ord(bil[i]) in [48..57]

Tidak

Ya e0 Ya Bil = 0

ii+1

Tidak e 1

e=0

Ya

Output : Input salah

X

Tidak

e=1

Tidak

X

Ya Terbilang

Output : Hasil

Coba lagi ? Tidak End

Ya

X

Gambar 4.3 Flowchart Program Utama Cek

61

4.3.3.2 Program Konversi Suhu flowchart fungsi suhu

FUNGSI C_ke_F START

FUNGSI C_ke_K START

FUNGSI C_ke_R START

C_ke_F 9/ 5 * (T + 32)

C_ke_K T + 273

C_ke_R 4/ 5 * T

STOP

STO P

STOP

Gambar 4.4 fungsi C_ke_FFUNGSI F_ke_C START

Gambar 4.5 fungsi C_ke_K Gambar 4.6 fungsi C_ke_RFUNGSI K_ke_C START FUNGSI R_ke_C START

F_ke_C 5/ 9 * (T- 32)

K_ke_C T - 273

R_ke_C 5/ 4 * T

STOP

STOP

STOP

Gambar 4.7 fungsi F_ke_C

Gambar 4.8 fungsi K_ke_C Gambar 4.9 fungsi R_ke_C

FUNGSI F_ke_R START

FUNGSI R_ke_F START

FUNGSI F_ke_K START

F_ke_C

R_ke_C

F_ke_C

C_ke_R

C_ke_F

C_ke_K

STOP

STOP

STOP

Gambar 4.10 fungsi F_ke_R

Gambar 4.11 fungsi R_ke_F Gambar 4.12 fungsi F_ke_K

62

FUNGSI K_ke_F START

FUNGSI R_ke_K START

FUNGSI K_ke_R START

K_ke_C

R_ke_C

K_ke_C

C_ke_F

C_ke_K

C_ke_R

STOP

STOP

STOP

Gambar 4.13 fungsi K_ke_F

Gambar 4.14 fungsi R_ke_K Gambar 4.15 fungsi K_ke_R

Program UtamaSTOP T 0 Inp ut T

C

N

T= angka

YKonversi C ke F

Y

Ket C ke F

NKonversi C keK

Y Y N

Ket C ke K

NKonversi C keR

Ket C ke R

A

B

63

A

B

NKonversi F ke C

Y

Ket F ke C

NKonversi K keC

Y

Ket K ke C

NKonversi R ke C

Y

Ket R ke C

NKonversi F ke R

Y

Ket C ke F

NKonversi F ke R

Y

Ket F ke R

NKonversi F ke K

Y

Ket F ke K

NKonversi K ke F

Y

Ket K ke F

NKonversi R ke K

Y

Ket R ke K

NKonversi K ke R

Y

Ket K ke R Outpu t Ket

NOutput Pilihan salah

CCoba Lagi

Y N

STOP

Gambar 4.16 flowchart program utama

64

4.3.3. Program Konversi Satuan

START

GROSS : INTEGER LUSIN : INTEGER BUAH : INTEGER X : INTEGER NILAI :INTEGER

INPUT NILAI

GROSS NILAI DIV 144

X NILAI MOD 144

LUSIN X DIV 12

BUAH X MOD 12

OUTPUT GROSS,LUSIN,BUAH

Y MAU COBA LAGI [Y/T]

T END

Gambar 4.17 Program Konversi Satuan

65

4.3.4 Kode program 4.3.4.1 Program CekProgram CHEQUE; Uses Wincrt; Const Angka:Array['1'..'9']Of String[8]=('one','two','three','four','five','six','seven',' eight','nine'); Eng:Array[1..5]of Var Bil:String; i,Errorcode:byte; Procedure Tigaan(Bil:String;j:shortint); Var Hasil:String; Begin Hasil:=''; If (Bil[1]'0') And (Bil[1]'1') Then Hasil:=Angka[Bil[1]]+' hundred '; If Bil[1]='1' Then Hasil:='one hundred '; If (Bil[2]'0')And(Bil[2]'1') Then if BIl[2]='2'then Hasil := Hasil +'twenty ' else if BIL[2]='3' then hasil := hasil +'thirty ' else if BIL[2]='5' then hasil := hasil +'fifty ' else if BIL[2]='8' then hasil := hasil +'eighty ' else Hasil:=Hasil+Angka[Bil[2]]+'ty '; If Bil[2]='1' Then If Bil[3]='0' Then Hasil:=Hasil+'ten ' Else if Bil[3]='1' Then Hasil:=Hasil+'eleven ' String=(' thousand',' million',' billion',' trillion',' quadrillion');

66

Else if Bil[3]='2' Then Hasil:=Hasil+'twelve ' Else if Bil[3]='3' Then Hasil:=Hasil+'thirteen ' Else if Bil[3]='5' Then Hasil:=Hasil+'fifteen ' Else if Bil[3]='8' Then Hasil:=Hasil+'eighteen ' Else Hasil:=Hasil+Angka[Bil[3]]+'teen ' Else if Bil[3]'0' Then Hasil:=Hasil+Angka[Bil[3]]+' '; If (Bil='001')And(j=1) Then Hasil:='one'; Write(Hasil); End; Procedure Terbilang(Bil:String); Var i,j:Shortint; Tiga:String[3]; Begin While Length(Bil)Mod 3 >0 do Bil:='0'+Bil; For i:=1 to Length(Bil)div 3 do Begin Tiga:=Copy(Bil,3*i-2,3); j:=Length(Bil)div 3-i; Tigaan(Tiga,j); If (j>0) And (Tiga'000') Then Write(Eng[j],' '); End; If Bil='000' Then Write('zero '); End;

67

(* * * * * P R O G R A M Begin Repeat clrscr; GOTOXY (23,3);

U T A M A * * * * *)

WriteLn('Program Untuk Mengkonversikan Nilai Cek'); GOTOXY (24,4); WriteLn('Dari bentuk Angka ke Bentuk Terbilang'); GOTOXY (24,5); WriteLN('*********** writeln; Repeat Errorcode:=1; Write(' writeln; For i:=1 to Length(Bil) do If not(Ord(Bil[i])in[48..57]) Then Errorcode:=0; If not(Ord(Bil[1])in[49..57])or (Length(bil)>18) or (Bil='')Then Errorcode:=0; If Bil='0' Then Errorcode:=1; If Errorcode=0 Then WriteLn('INPUT ANDA SALAH'); writeln; Until Errorcode=1; gotoxy (4,9); Writeln('Terbilang : '); gotoxy (4,10); Terbilang(Bil); Write('rupiah'); WriteLn; Masukkan bilangan = Rp. '); ReadLn(Bil); KELOMPOK XVI **********');

68

WriteLn; gotoxy (4,12); WriteLn('Tekan untuk selesai, tombol lain untuk mencoba lagi'); Until upcase(readkey)='S'; clrscr; WriteLn('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'); WriteLn ('@Terima Kasih,Tekanuntuk menutup program ini@'); WriteLn('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'); Readln; Donewincrt; End. Kode program 4.4 Program cek

4.3.4.2 Program Konversi Suhuprogram konversi_suhu; uses wincrt; var t:real; no:byte; kode:integer; x,y:string; function C_ke_F (t:real):real; begin C_ke_f := 9/5 *t + 32; end; function C_ke_K (t:real):real; begin C_ke_K := t + 273; end; function C_ke_R (t:real):real; begin C_ke_R := 4/5 *t; end; function F_ke_C (t:real):real; begin F_ke_C := 5/9 *t - 32; end;

69

begin end;

F_ke_K := F_ke_C(t)+273;

function F_ke_R (t:real):real; begin F_ke_R := F_ke_C(t)*4/5; end; function K_ke_C (t:real):real; begin K_ke_C := t-273; end; function K_ke_F (t:real):real; begin K_ke_F := K_ke_C(t)*9/5+32; end; function K_ke_R (t:real):real; begin K_ke_R := K_ke_C(t)*4/5; end; function R_ke_C (t:real):real; begin R_ke_C := t*5/4; end; function R_ke_F (t:real):real; begin R_ke_F := R_ke_C(t)*9/5+32; end; function R_ke_K (t:real):real; begin R_ke_K := R_ke_C(t)+273; end; begin writeln('pilihlah suhu awal'); writeln('1 : celcius'); writeln('2 : fahrenheit'); writeln('3 : reamur'); writeln('4 : kelvin'); writeln; repeat writeln; repeat write('masukkan pilihan suhu awal(1-4) : '); readln(x); val(x,no,kode); if (kode0) then writeln('masukkan anda salah!!!!');

70

if (no4) then writeln('pilihan anda salah!!!!'); until (kode=0) and (no>0) and (no