Professional Documents
Culture Documents
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
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:
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 ?
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?
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 ?
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 ) ?
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.
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.
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.
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
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
....; ( Nama/judul Program ) ....; ( Uses Nama Unit ) ....; ( Label ) ....; ( Constant ) ....; ( Type ) ....; (Variabel ) ....; ( Procedure ) ....; ( Function ) (Statements )
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
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
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
System
Turbo3
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 boleh
dipakai di dua tempat atau lebih). 2. Nama label mempunyai aturan sesuai dengan pengenal atau dapat pula berupa angka 0 sampai dengan 9999.
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:
Var
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
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
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
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 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:
11
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
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),
c.
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.
diterapkan.
H. a.
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
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.
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.
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.
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.
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
None Open
Save
Pencarian teks
Search
23
Meletakkan teks yang di copy pada dokumen aktif dari Clipboard Mengembalikan naskah kekeadaan sebelumnya Undo Paste
Compile
Make
Exit
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.
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.
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
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
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
29
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
decision
document
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
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.
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
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
Jika statemennya labih dari satu, maka sintaknya ditambahakan begin dan
end; sebagai berikut: If (kondisi) then Begin Statement_1; Statement_2; End;
33
Kondis i Y Pernyataa n
Contoh penggunaan If
If (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.
Kondisi N Pernyataan2
Pernyataan1
34
Contoh penggunaan If
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,-
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.
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 menghasilkan
d dan x2 = -b/2a - j 2a d 2a
C.
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
n Grade <=3 y
Totjam >173 n y
X totjam - 173
y Coti assistant manager Gapok Rp 3.775.000 Tunjab Rp 1.050.000 X >= 40 Lembur gapok/ 173*40
End
38
Start
a,b,c,D,X1,X2 : real
Input a,b,c
Dsqr(b)-4*a*c
Output X1,X2
X1-b/(2*a) X2-b/(2*a)
End
3.3.1.4 Program
39
41
lembur := gapok/173*jam_lembur else lembur := gapok/173*40; end else readln; tg := gapok+lembur+tunjab; writeln('coorporate title : ',coti); writeln('gaji pokok : Rp ',gapok); writeln('tunjangan jabatan : Rp ',tunjab); writeln('gaji lembur : Rp ',lembur:0:0); writeln('total gaji : Rp ',tg:0:0); writeln; writeln('mau coba lagi [Y/T] ?'); until upcase(readkey)='T'; donewincrt; end. Kode program 3.3 program gaji karyawan
42
begin repeat clrscr; gotoxy(15,1); writeln('=========== Program bilangan prima ============'); cek; rumus; writeln; write('coba lagi (Y/N)??'); until readkey = 'n'; writeln('Thank you'); donewincrt; end.
3.4 Uji coba dan Uses Interface 3.4.1 Program Gaji Karyawan Setelah kita selesai membuat program dalam Pascal kita dapat melakukan pengecekan kebenaran program yang telah kita buat, dengan mencari menu compile dan mengklik menu compile. Selain itu dapat dilakukan dengan menekan tombol F9 pada keyboard. Setelah kita mengklik menu compile, jika tidak terjadi kesalahan dalam pembuatan maka akan tampil seperti tampilan dibawah ini.
Setelah munculnya tampilan seperti diatas kita dapat mengklik ok! Untuk menjalankan program kita mencari menu run, dan klik pada menu run. Selain
43
itu kita dapat langsung melakukan run dengan menekan Ctrl + F9. Kita dapat mengklik menu run, maka akan muncul tampilan seperti tampilan dibawah ini :
Kita dapat mengetik nama, setelah itu dilanjutkan dengan penekana enter, maka anda dapat mengetik nomor grade! Jika terjadi ketidak sesuaian mengetikan nomor grade, seperti yang terjadi diatas, maka akan terjadi proses pemanggilan fungsi cek bilangan yaitu : Apakah yang diinputkan tidak dalam bentuk angka : Ya. Maka pada tampilan layar akan terdapat kalimat input salah. Seperti tampilan dibawah ini. Tampilan di bawah akan tetap muncul selama user menginputkan nomor grade masih dalam bentuk huruf
44
Pada tampilan hasil eksekusi program di bawah ini dapat di jelaskan: Pada tampilan awal muncul perintah masukkan nama, kemudian masukkan nomer grade dan total jam kerja.
3.4.2 Program Persamaan Kuadrat Setelah kita selesai membuat program dalam Pascal kita dapat melakukan pengecekan kebenaran program yang telah kita buat, dengan mencari menu compile dan mengklik menu compile. Selain itu dapat dilakukan dengan menekan tombol F9 pada keyboard.Setelah kita mengklik menu compile, jika tidak terjadi kesalahan dalam pembuatan maka akan tampil seperti tampilan dibawah ini.
45
Setelah munculnya tampilan seperti diatas kita dapat mengklik ok! Untuk menjalankan program kita mencari menu run, dan klik pada menu run. Selain itu kita dapat langsung melakukan run dengan menekan Ctrl + F9. Kita dapat mengklik menu run, maka akan muncul tampilan seperti tampilan dibawah ini :
Jika kita menginput variabel a yang tidak valid, maka akan muncul pesan kesalahan. Seperti yang terlihat pada gambar di bawah ini :
Misalkan, kita mengimputkan variabel a=1,b=2,c=1 maka muncul atau tampilan pernyataan X1 = X2 = -1.00 dimana X1 dan X2 merupakan akar kembar.
46
Misalkan, kita mengimputkan variabel a=1,b=3,c=5 maka muncul atau tampilan pernyataan X1 = -1.50-1.66j, X2 = -1.50+1.66j dimana X1 dan X2 merupakan akar imajiner.
Misalkan, kita mengimputkan variabel a=4,b=8,c=2 maka muncul atau tampilan pernyataan X1 = 3.31, X2 = -19.31 dimana X1 dan X2 merupakan akar riil yang berbeda.
47
Jika ingin mengulang mencari persamaan akar-akarnya, ada perintahCoba Sekali Lagi maka program tersebut akan mengulang dari awal hingga mucul tampilan outputnya. 3.5 Kesimpulan Program menghitung gaji karyawan dan persamaan kuadrat terdapat penggunaan program modul-modul fungsi yang berguna untuk mengefisienkan dalam coding tersebut, sehingga tidak dilakukan pengaksesan berkali-kali pada program utama, yaitu hanya cukup dengan menuliskan nama dari fungsi tersebut kemudian disertai dengan parameter aktualnya maka fungsi tersebut sudah dapat dijalankan, disamping itu pada program juga menggunakan fungsi validasi yang berfungsi merubah jenis tipe data string ke tipe data yang lain.
48
BAB IV TIPE DATA DASAR DAN STATEMEN KONTROL. 4.1 Tujuan 1. Memahami dasar-dasar pemrograman Pascal.
49
1 kemungkinan kondisi terpenuhi , dengan kata lain ada beberapa kemungkinan yang bisa kita cocokkan dengan kondisi bilangan tersebut. Untuk program cek ini, kita dapat memilah program menjadi beberapa bagian yang lebih kecil dengan tugas-tugas tertentu. Subprogram yang berupa fungsi atau prosedur ini akan membantu kita untuk memudahkan membaca dan memahami suatu program. Selain itu hal tersebut akan memudahkan kita melakukan pengujian dan tentunya juga efisiensi dalam penulisan suatu program. Dalam program cek ini, penggunaan subprogram prosedur sangat membantu kita dalam membagi tugas. Diantarannya adalah dengan menggunakan prosedur tigaan da prosedur terbilang. Prosedur tigaan prosedur ini memiliki tugas untuk membagi nilai yang inputkan menjadi beberapa kelompok dimana tiap kelompok terdiri dari 3 digit bilangan. Masing-masing kelompok ini diterjemahkan ke dalam bentuk terbilang. Penerjemahkan masingmasing kelompok ke dalam bentuk terbilang dilakukan dengan menerjemahkan masing-masing digit kemudian menyisipkan kata hundred untuk bilangan ratusan, dan bilangan satuan ditambah dengan kata ty untuk puluhan. Sedangkan prosedur terbilang, berfungsi untuk menyisipkan kata thoousand dilanjutkan dengan kata million, billion, trilliun, billiun. Caranya adalah dengan menghitung berapa jumlah kelompok bilangan yang ada dihitung perkelompok dimulai dari kelompok bilangan yang terdepan. Prosedur tigaan merupakan prosedur dalam prosedur. Dalam prosedur terbilang, prosedur tigaan akan dipanggil untuk menjalankan tugasnya. Tentunya dalam subprogram prosedur baik prosedur tigaan mauun prosedur terbilang kita menggunakan statement kontrol if...,else if..., dan case of. 4.2.2 Program Konversi Suhu Di dunia ini, dikenal empat macam derajat suhu untuk termometer yaitu Celcius, Fahrenheit, Kelvin, dan Reamur. Hubungan antara keempatnya dapat dinyatakan dalam persamaan multirelational operator sebagai berikut: Hubungan derajat suhu sataun yang dimasukan dengan besar suhu tujuan dapat kita nyatakan dengan menggunakan beberapa fungsi seperti dibawah ini : Kegunaan funsi asal di sini adalah sebagai tempat singgah dalam pengkonversian dari dan ke derajat-derajat suhu lainnya. Jadi misalnya kita ingin mengkonversikan suhu dari Celcius ke Fahrenheit maka kita bisa
50
mengkonversikan suhu dari Celcius ke fungsi asal dahulu dan kemudian mengkonversikan suhu dari asal ke Fahrenheit denagan bantuan fungsi tujuan. Sehingga dengan menggunakan kedua fungsi tersebut yang di dalamnya menggunakan statemen control caseof, kita dapat mengkonversikan besar suhu yang anda inputkan ke dalam besar suhu yang lain dalam satuan suhu yang berbeda. 4.2.3 Program konversi satuan Dalam kehidupan sehari-hari kita sering menjumpai kata gross,lusin,dll. Sebagaimana yang kita tahu bahwa gross sama dengan 144 buah dan lusin sama dengan 12 buah,dengan ini kami membuat program yang dapat mengkonversikan satuan menjadi gross,lusin dan buah.Pada materi pascal kita mengenal div dan mod, div yaitu hasil bagi satuan bilangan bulat dan mod yaitu sisa bagi satuan bilangan bulat. 4.3 Pembahasan dan Analisa 4.3.1 Prosedur dan Fungsi 4.3.1.1 Program Cek Prosedur Tigaan
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 '
51
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 ' 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; Kode program 4.1 Prosedur Tigaan
Fungsi ini berfungsi untuk menterjemahkan tiap bilangan yang ada pada tiap kelompok bilangan, dimana tiap kelompok bilangan terdiri dari 3 digit bilangan. Penerjemahan masing-masing kelompok ke bentuk terbilangnya ini tidak lepas juga dengan menyisipkan kata hundred untuk ratusan dan terbilang satuan ditambahkan dengan kata ty untuk puluhan. Mekanismenya adalah pertama-tama nilai input yang telah terbagi menjadi beberapa kelompok yang masing-masing terdiri dari 3 digit bilangan, setiap kelompoknya akan diterjemahkan satu persatu dimulai dari karakter bilangan pertama dari tiap kelompok, selanjutnya ke karakter bilangan kedua, dan terakhir adalah karakter bilangan ketiga. Pengujian kondisi baik bilangan pertama, kedua maupn ketiga di setiap kelompok bilangan pada prosedur ini menggunakan statement kontrol
52
if,else if,ataupun case of. Karena dalam menerjemahkan tiap nilai input ke bentuk terbilangnya prosedur harus menguji kondisi bilangan dengan berbagai kemungkinan yang ada. Hasil dari prosedur tigaan ini akan diproses kelmali pada prosedur terbilang. Prosedur Terbilang
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; Kode program 4.2 Prosedur Terbilang
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
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 suhu
program 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;
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 <S> untuk menjawab pertanyaan Tekan <S> 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
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 Tigaan
Hasil string Start
Hasil
Tidak
B [1] = 1 il
Tidak
B [2]<>0' il Ya
Tidak
Tidak
B [2] = 3 il Tidak
B [2] = 5 il Tidak
Y a
B [2] = 8 il Tidak
Ya
58
Tidak
Ya
Tidak Ya
Bil[3] = 1
Tidak Ya
Bil[2] = 8 Tidak
Bil[3]<>0'
Tidak
Bil = 001
Tidak
59
S tart
Tidak
Ya B il 0 + bil
Tida k
Tig aan
j >0
Tida k
Tiga<> 000
Tidak
Tiga = 000
Ya
Ya
Ya Hasil zero
Hasil
E ng[j],
E nd
60
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
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
Tidak
e=1
Tidak
Ya Terbilang
Output : Hasil
Ya
61
C_ke_F 9/ 5 * (T + 32)
C_ke_K T + 273
C_ke_R 4/ 5 * T
STOP
STO P
STOP
K_ke_C T - 273
R_ke_C 5/ 4 * T
STOP
STOP
STOP
F_ke_C
R_ke_C
F_ke_C
C_ke_R
C_ke_F
C_ke_K
STOP
STOP
STOP
62
K_ke_C
R_ke_C
K_ke_C
C_ke_F
C_ke_K
C_ke_R
STOP
STOP
STOP
Program Utama
STOP T 0 Inp ut T
T= angka
Y
Konversi C ke F
Ket C ke F
N
Konversi C keK
Y Y N
Ket C ke K
N
Konversi C keR
Ket C ke R
63
N
Konversi F ke C
Ket F ke C
N
Konversi K keC
Ket K ke C
N
Konversi R ke C
Ket R ke C
N
Konversi F ke R
Ket C ke F
N
Konversi F ke R
Ket F ke R
N
Konversi F ke K
Ket F ke K
N
Konversi K ke F
Ket K ke F
N
Konversi R ke K
Ket R ke K
N
Konversi K ke R
N
Output Pilihan salah
C
Coba Lagi
Y N
STOP
64
START
INPUT NILAI
LUSIN X DIV 12
BUAH X MOD 12
OUTPUT GROSS,LUSIN,BUAH
T END
65
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
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 <S> untuk selesai, tombol lain untuk mencoba lagi'); Until upcase(readkey)='S'; clrscr; WriteLn('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'); WriteLn ('@Terima Kasih,Tekan<Enter>untuk menutup program ini@'); WriteLn('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'); Readln; Donewincrt; End. Kode program 4.4 Program cek
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 (kode<>0) then writeln('masukkan anda salah!!!!');
70
if (no<1) or (no>4) then writeln('pilihan anda salah!!!!'); until (kode=0) and (no>0) and (no<5); repeat write('besar suhu : ');readln(y); val(y,t,kode); if (kode<>0) then writeln('masukkan anda salah!!!!'); until kode=0; case no of 1:begin writeln('suhusetelahdikonversi adalah'); writeln(C_ke_F(t):6:0,' F '); writeln(C_ke_R(t):6:0,' R '); writeln(C_ke_K(t):6:0,' K '); end; 2:begin writeln('suhu setelah dikonversi adalah'); writeln(F_ke_C(t):6:0,' C '); writeln(F_ke_R(t):6:0,' R '); writeln(F_ke_K(t):6:0,' K '); end; 3:begin writeln('suhu setelah dikonversi adalah'); writeln(R_ke_C(t):6:0,' C '); writeln(R_ke_F(t):6:0,' F '); writeln(R_ke_K(t):6:0,' K '); end; 4:begin writeln('suhu setelah dikonversi adalah'); writeln(K_ke_C(t):6:0,' C '); writeln(K_ke_F(t):6:0,' F '); writeln(K_ke_R(t):6:0,' R '); end; end; writeln; write('mau coba lagi [Y/T]'); until upcase (readkey) = 'T'; donewincrt; end. Kode Program 4.5 program konversi suhu
71
4.4 Uji coba dan Uses Interface 4.4.1 Program Cek Setelah mengetikkan program cek di atas dan ingin menjalankan program, maka yang dilakukan adalah: 1. Mengklik menu utama Compile dan memilih compile. Langkah ini juga bisa dilakukan dengan menekan Alt+F9.
72
2. Jika dalam penulisan program ada kesalahan, maka Turbo Pascal menunjukkan letak keslahan dan jenis kesalahan pada layar paling bawah
73
4.
Pada hasil uji coba di atas, terjadi pengulangan input bilangan, hal ini terjadi karena input pertama tidaka valid. Input pertama mengandung variabel u. Setelah input yang kedua dimasukkan, program dapat berjalan, hal ini disebabkan input yang dimasukkan valid.
74
Bilangan yang dimasukkan dibagi menjadi bagian-bagian yang terdiri dari 3 digit angka sebagai berikut: Bagian 1 = 1 Bagian 2 = 234 Bagian 3 = 567 Bagian pertama hanya terdiri dari satu (1) angka yaitu angka satu (1), maka konversi yang terjadi adalah one million. Digit pertama dari bagian kedua ini adalah angka dua (2),maka akan dikonversi menjadi two hundred, digit kedua merupakan angka tiga (3) dikonversi menjadi thirty, digit ketiga merupakan angka empat (4) dikonversi menjadi four. Bagian kedua ini diakhiri dengan thousand. Digit pertama pada bagian ketiga adalah angka lima (5) yang dikonversi menjadi five hundred, digit kedua merupakan angka enam (6) dikonversi menjadi sixty, dan digit terakhir adalah angka tujuh (7) dikonversi menjadi seven. Pada bagian ketiga ini tidak diberi akhiran, karena merupakan bagian terakhir.
Pada uji coba kedua ini tidak terjadi pengulangan pemasukan input, karena input yang dimasukkan dinayatakan valid. Bilangan yang diamsukan dibagi menjadi bagian-bagian yangterdiri dari 3 digit sebagai berikut: Bagian 1 = 90 Bagian 2 = 657 Bagian 3 = 432 Bagian pertama terdiari angka sembilan (9) dan nol (0), maka dikonversikan menjadi ninety dan mendapat akhiran million. Digit pertama pada bagian kedua adalah angka enam(6) yang dikonversikan menjadi six hundred, digit kedua adalah angka lima (5) yang dikonversikan menjadi fifty, dan digit ketiga adalah
75
angka (7) dikonversikan menjadi seven. Bagian kedua ini mendapat akhiran thousand. Pada bagian ketiga, digit pertama adalah angka empat (4) yang dikonversikan menjadi four, digit kedua adalalh angka tiga (3) dikonversi menjadi thirty, dan digit ketiga adalah angka dua (2) dikonversi menjadi two. Bagian ketiga ini tidak mendapat akhiran, karena merupakan bagian terakhir.
Bilangan yang diinputkan dibagi menjadi bagian-bagaian seperti di bawah ini: Bagian 1 = 79 Bagian 2 = 954 Bagian 3 = 320 Pada bagian pertama terdiri dari dua digit, maka merupakan bilangan puluhan. Digit pertama merupakan angka tujuh (7) yang dikonversi memnjadi seventy, digit kedua adalah angka sembilan (9) dikonversi menjadi nine. Bagian pertama ini mendapat akhiran million. Pada bagian kedua, digit pertama adalah angka sembilan (9) yang dikonversikan menjadi nine hundred, digit kedua adalah angka lima (5) dikonversi menjadi fifty, digit ketiga adalah angka empat (4) yang dikonversi menjadi four. Bagian kedua ini mendapat akhiran thousand. Pada bagian ketiga, bagian pertama adalah angka tiga (3) yang dikonversi menjadi three hundred, digit ketiga adalah angka nol (0), maka digit kedua dan ketiga akan dikonversi menjadi twenty. 4.4.2 Program Konversi Suhu Setelah mengetikkan program konversi suhu dan ingin menjalankan program, maka yang dilakukan adalah: 1. Mengklik menu utama Compile dan memilih compile. Langkah ini juga bisa dilakukan dengan menekan Alt+F9.
76
2.
adalah mengklik menu utama Run dan memilih run. Langkah ini juga bisa dilakukan dengan menekan Ctrl+F9.
3. Langkah selanjutnya adalah mengisi input berupa bilangan,Apabila salah memasukkan input maka akan ada peringatan input salah
77
4. Masukkan lagi input dengan benar,kalau sudah benar maka program berjalan dengan semestinya.
Jika ingin mengulang mencari konversi suhu yang lain, ada perintahCoba Sekali Lagi maka program tersebut akan mengulang dari awal hingga mucul tampilan outputnya.
78
Fungsi tersebut berisi tentang rumus-rumus konversi suhu yang sudah ditentukan.antara lain mengkonversikan cekcius ke reamur,celcius ke fahrenheit,celsius ke kelvin, dll. Dalam program utama kita hanya memasukkan nilai sesuai dengan pilihan suhu yang kita pilih misal nilai celcius dimasukkan maka outputnya akan dikonversikan menjadi fahrenheit reamur dan kelvin,sesuai rumus yang kita buat pada fungsi. 4.4.3 Program Konversi Suhu 1. Setelah selesai mengetik program,kemudian compile program dengan menekan tombol Alt + F9 setelah dicompile akan terlihat tampilan berikut :
2. Klik tombol OK kemudian run program dengan menekan tombol Ctrl + F9 setelah di run akan terlihat tampilan berikut :
79
3. Masukkan input, apabila salah memasukkan input, akan ada peringatan input salah.
4. Masukkanlah input yang benar,apabila input sudah benar maka program akan berjalan.
4.5 Kesimpulan Program cek dan program konversi suhu masing-masing menggunakan subprogram fungsi dan prosedur untuk memudahkan membagi tugas dalam keseluruhan program. Contohnya saja dalam program cek, prosedur yang digunakan antaranya adalah prosedur terbilang dan tigaan yang memilki tugas
80
masing-masing yaitu prosedur terbilang bertugas untuk membagi bilangan input menjadi beberapa kelompok, kemudian prosedur tigaan bertugas untuk menerjemahkan masing-masing karakter bilangan pada tiap kelompok, selanjutnya prosedur terbilang kembali bertugas untuk memproses hasil prosedur tigaan dengan menyisipkan kata thoousand dilanjutkan dengan kata million, billion, trilliun, billiun diantara masng-masing kelompok bilangan. Kemudian hasil tersebut akan ditampilkan sebagai output. Sedangkan pada program konversi suhu, subprogram yang dipakai adalah prosedur masukan, fungsi asal, dan fungsi tujuan. Prosedur masukkan pada program konversi suhu bertugas untuk mengeksekusi input apaka sudah valid atau belum. Sedangkan fungsi asal dan fungsi tujuan bertugas untuk menghitung konversi suhu dari satuan asal ke satuan tujuan yang diinginkan oleh pengguna. Selain menggunakan subprogram, baik pada program cek ataupun program konversi suhu masing-masing menggunakan statement kontrol if...,else if...,dan case of. Penggunaannya adalah untuk menguji suatu kondisi dengan berbagai kemungkinan yang ada. Program gross untuk menentukan konversisatuan yaitu, 144 buah(gross),12 buah(lusin). Pogram ini dapat juga digunakan untuk menentukan sisa bagi dan div untuk menentukan hasil bagi.
81