Monday, November 12, 2012

PEMROGRAMAN PASCAL

Pemrograman Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram (programmer). Untuk dapat melakukan pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan di banyak kasus, pengetahuan-pengetahuan lain seperti matematika. Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih algoritma yang saling berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu sehingga menjadi sebuah program komputer. Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda pula. Gaya pemrograman ini biasa disebut paradigma pemrograman. Apakah memprogram perangkat lunak lebih merupakan seni, ilmu, atau teknik telah lama diperdebatkan. Pemrogram yang baik biasanya mengkombinasikan tiga hal tersebut, agar dapat menciptakan program yang efisien, baik dari sisi waktu berjalan (run time), atau memori. Daftar isi Pemrograman Kompetitif Pemrograman adalah bahan yang banyak digunakan di berbagai kompetisi komputer di Indonesia maupun dunia. Di tingkat SMA, contohnya, pemrograman dipertandingkan dalam Olimpiade Sains Nasional setiap tahunnya. Ketigapuluh peraih medali di Olimpiade Sains Nasional ini kemudian menjadi Tim Olimpiade Komputer Indonesia, dan menempuh Pelatihan Nasional yang menyeleksi empat orang wakil untuk mengikuti Olimpiade Sains Internasional bidang Informasi (International Olympiad in Informatics) yang diadakan setiap tahunnya. Sejarah pemrograman Mekanisme Antikythera dari Yunani kuno adalah kalkulator menggunakan persneling dari berbagai ukuran dan konfigurasi untuk menentukan operasi, [3] yang dilacak siklus Metonik masih digunakan di bulan-ke-surya kalender, dan yang konsisten untuk menghitung tanggal olimpiade [4]. Al-Jazari dibangun Automata diprogram pada tahun 1206. Salah satu sistem yang digunakan dalam perangkat ini adalah penggunaan pasak dan Cams ditempatkan ke drum kayu di lokasi tertentu, yang secara berurutan akan memicu tuas yang pada gilirannya dioperasikan instrumen perkusi. Output dari perangkat ini adalah drumer kecil bermain berbagai ritme dan pola drum. [5] [6] The Jacquard Loom, Joseph Marie Jacquard yang dikembangkan pada tahun 1801, menggunakan serangkaian karton kartu dengan menekan lubang di dalamnya. Pola lubang pola yang mewakili alat tenun harus mengikuti menenun kain. Alat tenun bisa menghasilkan tenun yang sama sekali berbeda dengan menggunakan kumpulan kartu yang berbeda. Charles Babbage mengadopsi penggunaan kartu menekan sekitar tahun 1830 untuk mengendalikan Analytical Engine. Program komputer pertama ditulis untuk Analytical Engine oleh matematikawan Ada Lovelace untuk menghitung urutan Bilangan Bernoulli. [7] Sintesis perhitungan numerik, operasi dan output telah ditentukan, bersama dengan cara untuk mengatur dan masukan instruksi dengan cara yang relatif mudah bagi manusia untuk hamil dan menghasilkan, menyebabkan perkembangan modern pemrograman komputer. Pengembangan pemrograman komputer dipercepat melalui Revolusi Industri. Pada akhir 1880-an, Herman Hollerith menemukan rekaman data pada media yang kemudian dapat dibaca oleh mesin. Sebelum menggunakan mesin dibaca dari media, di atas, telah untuk kontrol, bukan data. "Setelah beberapa percobaan awal dengan kertas pita, ia menetap di kartu menekan ..." [8] Untuk memproses kartu menekan ini, pertama kali dikenal sebagai "kartu Hollerith" dia menciptakan tabulator, dan mesin keypunch. Ketiga penemuannya dasar dari industri pengolahan informasi modern. Pada tahun 1896 ia mendirikan Tabulating Machine Company (yang kemudian menjadi inti dari IBM). Penambahan panel kontrol (plugboard) ke 1906 Tipe I Tabulator memungkinkannya untuk melakukan pekerjaan yang berbeda tanpa harus secara fisik dibangun kembali. Pada akhir 1940-an, ada berbagai mesin panel kontrol diprogram, disebut catatan unit peralatan, untuk melakukan pengolahan data tugas. Data dan instruksi dapat disimpan pada kartu punched eksternal, yang disimpan dalam rangka dan disusun dalam deck. Penemuan arsitektur von Neumann memungkinkan program komputer untuk disimpan dalam memori komputer. Program awal harus susah payah dibuat dengan menggunakan instruksi (operasi dasar) dari mesin tertentu, sering kali dalam notasi biner. Setiap model komputer mungkin akan menggunakan instruksi yang berbeda (bahasa mesin) untuk melakukan tugas yang sama. Kemudian, perakitan bahasa tersebut dikembangkan yang memungkinkan programmer menentukan setiap instruksi dalam format teks, singkatan memasukkan kode untuk setiap operasi, bukan menetapkan sebuah nomor dan alamat dalam bentuk simbolik (misalnya, ADD X, JUMLAH). Memasuki sebuah program dalam bahasa assembly biasanya lebih nyaman, lebih cepat, dan kurang rentan terhadap kesalahan manusia daripada menggunakan bahasa mesin, tetapi karena bahasa assembly adalah sedikit lebih dari satu notasi yang berbeda untuk bahasa mesin, setiap dua mesin dengan instruksi yang berbeda set juga memiliki perakitan yang berbeda bahasa. Pada tahun 1954, FORTRAN diciptakan, melainkan tingkat pertama bahasa pemrograman tinggi untuk memiliki implementasi fungsional, dibandingkan dengan hanya desain di atas kertas [9] [10] (Sebuah bahasa tingkat tinggi adalah, dalam istilah yang sangat umum,. bahasa pemrograman yang memungkinkan programmer untuk menulis program dalam istilah yang lebih abstrak dari instruksi bahasa assembly, yaitu pada tingkat abstraksi "lebih tinggi" daripada bahasa assembly.) Ini memungkinkan programmer untuk menentukan perhitungan dengan memasukkan formula secara langsung (misalnya Y = X * 2 + 5 * X + 9). Program teks, atau sumber, diubah menjadi instruksi mesin menggunakan program khusus yang disebut kompilator, yang diterjemahkan program FORTRAN ke dalam bahasa mesin. Bahkan, nama FORTRAN adalah singkatan dari "Formula Translation". Banyak bahasa lainnya dikembangkan, termasuk beberapa program untuk komersial, seperti COBOL. Program itu sebagian besar masih masuk menggunakan kartu punched atau pita kertas. (Lihat pemrograman komputer di era kartu punch). Pada akhir 1960-an, perangkat penyimpanan data dan terminal komputer menjadi cukup murah bahwa program dapat dibuat dengan mengetikkan langsung ke dalam komputer. Teks editor tersebut dikembangkan yang memungkinkan perubahan dan perbaikan harus dilakukan jauh lebih mudah dibandingkan dengan kartu berlubang. (Biasanya, kesalahan dalam meninju kartu berarti bahwa kartu harus dibuang dan yang baru menekan untuk menggantikannya.) Ketika waktu telah berkembang, komputer telah membuat lompatan raksasa di bidang kekuatan prosesor. Ini telah membawa bahasa pemrograman baru yang lebih disarikan dari hardware. Meskipun bahasa tingkat tinggi biasanya dikenakan biaya overhead yang lebih besar, peningkatan kecepatan komputer modern telah membuat penggunaan bahasa ini jauh lebih praktis daripada di masa lalu. Bahasa ini semakin disarikan biasanya lebih mudah untuk belajar dan memungkinkan programmer untuk mengembangkan aplikasi jauh lebih efisien dan dengan kode sumber kurang. Namun, bahasa tingkat tinggi masih praktis untuk beberapa program, seperti yang di mana tingkat rendah kontrol perangkat keras diperlukan atau di mana kecepatan pemrosesan maksimum adalah penting. Sepanjang paruh kedua abad kedua puluh, pemrograman adalah karier yang menarik di sebagian besar negara maju. Beberapa bentuk pemrograman telah lepas pantai semakin tunduk pada outsourcing (impor perangkat lunak dan jasa dari negara lain, biasanya dengan upah rendah), membuat keputusan karir pemrograman di negara maju lebih rumit, sementara meningkatkan peluang ekonomi di daerah kurang berkembang. Tidak jelas seberapa jauh kecenderungan ini akan berlanjut dan seberapa dalam dampak akan programmer upah dan kesempatan. Kata lain Pemrograman adalah mengubah suatu masalah yang dapat dimengerti oleh komputer dan dapat dipecahkan oleh komputer. [sunting]Persyaratan kualitas Apapun pendekatan pengembangan perangkat lunak mungkin, program akhir harus memenuhi beberapa sifat mendasar. Properti berikut adalah di antara yang paling relevan: Efisiensi / kinerja: jumlah sumber daya sistem program yang mengkonsumsi waktu proses, ruang memori, perangkat bawahseperti disk, bandwidth jaringan dan bahkan sampai batas tertentu interaksi dari pemakai): semakin sedikit, semakin baik. Ini juga termasuk pembuangan benar beberapa sumber, seperti membersihkan file-file sementara dan tidak adanya kebocoran memori. Reliabilitas: seberapa sering hasil dari sebuah program sudah benar. Hal ini tergantung pada kebenaran konseptual algoritma, dan pemrograman minimisasi kesalahan, seperti kesalahan dalam manajemen sumber daya (misalnya, buffer overflows dan ras kondisi) dan kesalahan logika (seperti pembagian dengan nol). Kekokohan: seberapa baik program masalah mengantisipasi bukan karena kesalahan programmer. Ini termasuk situasi seperti salah, tidak pantas atau merusak data, tidak tersedianya sumber daya yang dibutuhkan seperti memori, sistem operasi layanan dan koneksi jaringan, dan kesalahan pengguna. Kegunaan: yang ergonomi sebuah program: kemudahan dengan mana seseorang dapat menggunakan program untuk tujuan, atau dalam beberapa kasus bahkan tujuan tak terduga. Isu-isu tersebut dapat membuat atau menghancurkan kesuksesan bahkan tanpa masalah lain. Hal ini melibatkan berbagai tekstual, grafis dan kadang-kadang elemen-elemen perangkat keras yang meningkatkan kejelasan, intuitif, kekompakan dan kelengkapan program antarmuka pengguna. Portabilitas: kisaran perangkat keras komputer dan platform sistem operasi yang kode sumber dari program dapat dikompilasi / ditafsirkan dan lari. Hal ini tergantung pada perbedaan-perbedaan dalam fasilitas pemrograman yang disediakan oleh platform yang berbeda, termasuk hardware dan sistem operasi sumber daya, perilaku yang diharapkan dari hardware dan sistem operasi, dan ketersediaan platform compiler tertentu (dan kadang-kadang perpustakaan) untuk bahasa dari source code. Kemampu-rawatan: kemudahan dengan sebuah program yang dapat dimodifikasi oleh pengembang sekarang atau pada masa mendatang dalam rangka untuk membuat perbaikan atau penyesuaian, memperbaiki bug dan lubang keamanan, atau disesuaikan dengan lingkungan baru. Praktek yang baik selama pengembangan awal membuat perbedaan dalam hal ini. Kualitas ini mungkin tidak secara langsung jelas bagi pengguna akhir tetapi dapat secara signifikan memengaruhi nasib sebuah program jangka panjang. ==Kompleksitas algoritma== [sunting] Bidang akademik dan praktik teknik pemrograman komputer yang baik terutama berkaitan dengan menemukan dan menerapkan algoritma yang paling efisien untuk suatu masalah kelas. Untuk tujuan ini, algoritma diklasifikasikan menjadi perintah dengan menggunakan apa yang disebut notasi Big O, O (n), yang mengungkapkan penggunaan sumber daya, seperti waktu eksekusi atau pemakaian memori, dalam hal ukuran sebuah input. Ahli programmer yang akrab dengan berbagai mapan algoritma dan kompleksitas masing-masing dan menggunakan pengetahuan ini untuk memilih algoritma yang paling cocok dengan keadaan. [sunting]Metodologi Langkah pertama dalam sebagian besar proyek-proyek pengembangan perangkat lunak formal adalah analisis persyaratan, diikuti dengan pengujian untuk menentukan model nilai, pelaksanaan, dan kegagalan penghapusan (debug). Terdapat banyak pendekatan yang berbeda untuk masing-masing tugas. Salah satu pendekatan yang populer untuk analisis kebutuhan adalah Kasus Gunakan analisis. Teknik model populer meliputi Object-Oriented Analysis and Design (OOAD) dan Model-Driven Architecture (MDA). The Unified Modeling Language (UML) adalah sebuah notasi yang digunakan untuk kedua OOAD dan MDA. Teknik yang sama digunakan untuk desain database adalah Entity-Relationship Modeling (ER Modeling). Pelaksanaan teknik termasuk bahasa imperatif (object-oriented atau prosedural), fungsional bahasa, dan logika bahasa. [sunting]Mengukur pemakaian bahasa Sangat sulit untuk menentukan apa yang paling populer bahasa pemrograman modern. Beberapa bahasa yang sangat populer untuk jenis aplikasi tertentu (misalnya, COBOL masih kuat di pusat data perusahaan, sering pada mainframe besar, FORTRAN dalam aplikasi teknik, bahasa scripting dalam pengembangan web, dan C dalam aplikasi embedded), sementara beberapa bahasa teratur digunakan untuk menulis berbagai macam aplikasi. Metode untuk mengukur popularitas bahasa pemrograman meliputi: menghitung jumlah iklan lowongan pekerjaan yang menyebutkan bahasa [10], jumlah buku-buku pengajaran bahasa yang dijual (overestimates ini pentingnya bahasa baru), dan perkiraan jumlah baris yang ada kode yang ditulis dalam bahasa (meremehkan ini jumlah pengguna bahasa bisnis seperti COBOL). [sunting]Debugging Debugging adalah tugas yang sangat penting dalam proses pengembangan perangkat lunak, karena program yang salah dapat memiliki konsekuensi yang signifikan bagi penggunanya. Beberapa bahasa yang lebih rentan terhadap beberapa jenis kesalahan karena mereka tidak memerlukan spesifikasi kompiler untuk melakukan pengecekan sebanyak bahasa lainnya. Penggunaan alat analisis statis dapat membantu mendeteksi beberapa kemungkinan masalah. Debug sering dilakukan dengan IDE seperti Visual Studio, NetBeans, dan Eclipse. Standalone debugger seperti gdb juga digunakan, dan ini kurang sering menyediakan lingkungan visual, biasanya menggunakan baris perintah. [sunting]Bahasa pemrograman Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda (disebut paradigma pemrograman). Pilihan bahasa yang digunakan adalah tunduk pada banyak pertimbangan, seperti kebijakan perusahaan, kesesuaian untuk tugas, ketersediaan pihak ketiga paket, atau keinginan individunya. Idealnya, bahasa pemrograman yang paling cocok untuk tugas yang dihadapi akan dipilih. Trade-off dari ideal ini melibatkan cukup menemukan programmer yang tahu bahasa untuk membangun sebuah tim, ketersediaan compiler untuk bahasa, dan efisiensi dengan program-program yang ditulis dalam bahasa tertentu mengeksekusi. Beberapa bahasa pemrograman adalah: Assembly Ada Basic C atau C++ C# Cobol Java Fortran Clipper Pascal Visual Basic Allen Downey, dalam bukunya How To Think Like A Computer Scientist, menulis: Rincian terlihat berbeda dalam berbagai bahasa, tetapi beberapa petunjuk dasar muncul di hampir setiap bahasa: * Input: Get data dari keyboard, file, atau beberapa perangkat lain. * Output: Display data pada layar atau mengirim data ke file atau perangkat lain. * Berhitung: Lakukan operasi aritmatika dasar seperti penjumlahan dan perkalian. * Bersyarat eksekusi: Periksa kondisi tertentu dan melaksanakan urutan sesuai pernyataan. * Pengulangan: Lakukan beberapa tindakan berulang-ulang, biasanya dengan beberapa variasi. Banyak bahasa komputer menyediakan mekanisme untuk memanggil fungsi yang disediakan oleh perpustakaan. Menyediakan fungsi-fungsi di perpustakaan mengikuti konvensi runtime yang sesuai (misalnya, metode lewat argumen), maka fungsi-fungsi ini dapat ditulis dalam bahasa lainnya. [sunting]Pemrogram / Programmer Artikel utama: Programmer Lihat juga: Software pengembang dan Software engineer Pemrogram komputer adalah orang-orang yang menulis perangkat lunak komputer. Pekerjaan mereka meliputi: * Coding * Kompilasi * Dokumentasi * Integrasi * Pemeliharaan * Persyaratan analisis * Software arsitektur * Software pengujian * Spesifikasi * Debugginng. Algoritma. Algoritma sering diterapkan oleh manusia dalam kehidupan sehari-hari. Sebenarnya, apakah Pengertian Algoritma itu? Berikut pembahasannya lebih mendalam. Sistim kerja komputer memiliki brainware, hardware, dan software. Tanpa salah satu dari ketiga sistim tersebut, komputer tidak akan berguna. Kita akan lebih fokus pada software komputer. Software terbangun atas susunan program (silahkan baca mengenai Pengertian Program) dan syntax (cara penulisan/pembuatan program). Untuk menyusun program atau syntax, diperlukannya langkah-langkah yang sistematis dan logis untuk dapat menyelesaikan masalah atau tujuan dalam proses pembuatan suatu software. Maka, Algoritma berperan penting dalam penyusunan program atau syntax tersebut. Pengertian Algoritma adalah susunan yang logis dan sistematis untuk memecahkan suatu masalah atau untuk mencapai tujuan tertentu. Dalam dunia komputer, Algoritma sangat berperan penting dalam pembangunan suatu software. Dalam dunia sehari-hari, mungkin tanpa kita sadari Algoritma telah masuk dalam kehidupan kita. Algoritma berbeda dengan Logaritma. Logaritma merupakan operasi Matematika yang merupakan kebalikan dari eksponen atau pemangkatan. Contoh Logaritma seperti bc= a ditulis sebagai blog a = c (b disebut basis). Contoh nyata Algoritma dalam kehidupan sehari-hari adalah "Cara Membuat Mie Instan". Berikut langkah-langkah cara membuat mie instan: Ambil goreng di dalam lemari yang terletak di dapur. Siapkan peralatan yang diperlukan seperti panci, gunting, piring, serta sendok dan garpu. Masukkan bumbu mie instan pada piring Hidupkan kompor, kemudian tuangkan air kurang lebih tiga gelas air ke dalam panci kemudian tunggu hingga air mendidih. Masukkan mie instan ke dalam air mendidih, lalu aduk dan tunggu hingga tiga menit. Tiriskan air di dalam panci, kemudian tuangkan mie pada piring. Aduk mie agar bumbu tercampur merata pada mie kemudian sajikan dengan keadaan hangat. Kurang lebih di atas merupakan cara membuat mie instan. Langkah-langkah di atas juga termasuk dalam Algoritma. Jadi perlu diingat bahwa Algoritma tidak hanya diterapkan pada dunia komputasi, tetapi juga Algoritma diterapkan dalam kehidupan sehari-hari. Sedangkan dalam dunia komputasi, contoh penggunaan Algoritma adalah dalam pembuatan program pada bahasa pemrograman seperti bahasa C, C#, dan Visual Basic. Dengan syntax pada tiap bahasa pemrograman dan Algoritma, maka akan tersusun program-program dan terlahirlah software. Jadi intinya, Pengertian Algoritma adalah suatu langkah/urutan yang logis dan sistematis untuk pemecahan suatu masalah atau untuk mencapai tujuan yang diinginkan. Itu dia pembahasan kali ini mengenai Pengertian Algoritma versi saya. Mohon maaf dengan segala kekurangan yang ada pada blog serta artikel mengenai Pengertian Algoritma ini. Pascal. Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari matematikawan Perancis, Blaise Pascal, yang pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu. Kelebihan Kelebihan dari bahasa pemrograman Pascal adalah: Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada kebanyakan bahasa pemrograman. Pascal memiliki tipe data standar: boolean, integer, real, char, string, User defined Data Types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar. Strongly-typed, programmer harus menentukan tipe data dari suatu variabel, dan variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari format yang ditentukan. Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedure dan function) yang dapat dipergunakan berulang-ulang. Sederhana dan Ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa Inggris) sehingga mudah dipelajari dan dipahami. Bahasa PASCAL juga merupakan bahasa yang digunakan sebagai standar bahasa pemrograman bagi tim nasional Olimpiade Komputer Indonesia (TOKI). Selain itu, Bahasa PASCAL masih digunakan dalam IOI (International Olympiad in Informatics). Tipe Data Dalam bahasa Pascal terdapat beberapa jenis tipe data yang bisa digunakan untuk sebuah variabel atau konstanta pada program. Tipe Data tersebut antara lain adalah Tipe Data Deskripsi (range variabel) Byte angka dari 0 sampai 255 Integer angka dari -32768 to 32767 Real semua nilai pecahan dari 1E-38 to 1E+38 Boolean nilai TRUE atau FALSE Char semua karakter dari tabel ASCII String semua huruf, spasi, frasa Contoh. CONTOH PROGRAM (pascal bag:VIII) Posted on 23 Juli 2009 by sttdb Program 1 : menghitung luas/keliling bangunan Yup… sekarang kita buat program yang pertama, menghitung luas dan keliling bangunan. Bangunan yang dijadikan contoh adalah segitiga. Perhatikan contoh di bawah ini: 1: Program Menghitung_Luas_dan_Keliling; 2: var alas, tinggi, sisimiring, luas, keliling: real; 3: Begin 4: writeln(‘MENGHITUNG LUAS DAN KELILING SEGITIGA’); 5: writeln(‘————————————-’); 6: write(‘Masukkan alas : ‘);readln(alas); 7: write(‘Masukkan tinggi : ‘);readln(tinggi); 8: luas:= 0.5*alas*tinggi; 9: sisimiring:=sqrt(sqr(alas)+sqr(tinggi)); 10: keliling:= alas+tinggi+sisimiring; 11: writeln; 12: writeln(‘luas segitiga : ‘, luas:0:2); 13: writeln(‘keliling segitiga : ‘, keliling:0:2); 14: readln; 15: end. Pada baris 6 dan 7 adalah tempat memasukkan alas dan tinggi segitiga yang akan diproses di baris 8 sampai 10. Ingat kan rumus menghitung sisi miring segitiga? yaitu akar dari jumlah kuadrat sisi-sisinya. Fungsi “sqrt” adalah untuk mengakarkan dan sqr untuk mengkuadratkan. Sekarang kebaris 12 dan 13. Apa yang beda hayoo…? betul.. setelah variabel luas dan keliling dicetak ke layar ada tambahan “:0:2″. Itu artinya :banyaknya alokasi angka:jumlah desimal. Gampangkan? iya donk, kan tinggal maen logika… Program 2 : menentukan bilangan ganjil, genap dan prima Pernah kan pas di SD kita disuruh nentuin bilangan ini ganjil apa genap, prima apa bukan. Sekarang kita jadiin program. 1: Program JenisBilangan; 2: var bil: longint; 3: begin 4: writeln(‘MENENTUKAN JENIS BILANGAN’); 5: writeln(‘————————-’); 6: write(‘Masukkan angka: ‘);readln(bil); 7: if ((bil=2) or (bil=3) or (bil=5) or (bil=7)) then 8: write(‘bilangan prima’) 9: else if ((bil mod 2 <> 0) and (bil mod 3 <> 0) and (bil mod 5 <> 0) and (bil mod 7 <> 0)) then 10: write(‘bilangan prima’) 11: else write(‘bukan bilangan prima’); 12: if bil mod 2 = 0 then 13: writeln(‘ dan genap’) 14: else 15: writeln(‘ dan ganjil’); 16: readln; 17: end. Pada baris ke-7 sampai 12 adalah tempat menentukan bilangan prima atau bukan. Masih ingat kan karateristik bilangan prima? bilangan yang hanya bisa dibagi 1 dan dirinya sendiri dan juga hampir semuanya ganjil. Berhubung bilangan prima dibawah 10 adalah persyaratan untuk bilangan diatas 10 (perhatikan baris ke 7 dan 9), jadi bilangan prima dibawah 10 ditulis manual. Fungsi “mod” pada baris 9 dan 13 adalah sebagai sisa dari pembagian. Jika ditulis “7 mod 3″ maka hasilnya adalah 1, artinya sisa dari 7/3 (tujuh dibagi tiga) adalah 1. Gimana? Tinggal maen logika… kan? Program 3 : menentukan bilangan terbesar (dengan if) Ini adalah program terakhir untuk mematangkan penggunaan kondisi if. Pernah kah kalian membuat program dengan susah payah tetapi setelah ditunjukkan dengan orang lain, mereka bilang “Hanya gitu doank kerjanya?”. He he he… sakit hati emang , kalo bisa rasanya pengen nimpuk tu orang dengan hardisk SEAGATE BARACUDA 80 giga lima biji ). Ini salah satu program yang panjang, tapi fungsinya… yaa… gitulah 1: Program BilanganTerbesar; 2: Var bil1, bil2, bil3 :real; 3: Begin 4: Write(‘Masukkan Bilangan Pertama : ‘);Readln(bil1); 5: Write(‘Masukkan Bilangan Kedua : ‘);Readln(bil2); 6: Write(‘Masukkan Bilangan Ketiga : ‘);Readln(bil3); 7: If (bil1=bil2) and (bil2=bil3) then 8: Writeln(‘Semua bilangan yang anda masukkan sama besar ‘,bil1:0:0) 9: Else If (bil1=bil2) or (bil1=bil3) or (bil2=bil3) then 10: Begin 11: If bil1=bil2 then 12: Begin 13: Writeln(‘Bilangan Pertama dan Kedua Adalah Sama’); 14: If Bil1 < bil3 then 15: Writeln(‘Bilangan Terbesar Adalah ‘,bil3:0:0) 16: Else 17: Writeln(‘Bilangan Terbesar Adalah ‘,bil1:0:0) 18: End 19: Else If bil1=bil3 then 20: Begin 21: Writeln(‘Bilangan Pertama dan Ketiga Adalah Sama’); 22: If Bil1 < bil2 then 23: Writeln(‘Bilangan Terbesar Adalah ‘,bil2:0:0) 24: Else 25: Writeln(‘Bilangan Terbesar Adalah ‘,bil1:0:0) 26: End 27: Else If bil2=bil3 then 28: Begin 29: Writeln(‘Bilangan Kedua dan Ketiga Adalah Sama’); 30: If Bil1 < bil3 then 31: Writeln(‘Bilangan Terbesar Adalah ‘,bil3:0:0) 32: Else 33: Writeln(‘Bilangan Terbesar Adalah ‘,bil1:0:0) 34: End 35: End 36: Else If bil1 > bil2 then 37: Begin 38: If bil1 > bil3 then 39: Writeln(‘Bilangan terbesar adalah ‘,bil1:0:0) 40: Else 41: Writeln(‘Bilangan terbesar adalah ‘,bil3:0:0); 42: End 43: Else If bil1 < bil2 then 44: Begin 45: If bil2 > bil3 then 46: Writeln(‘Bilangan terbesar adalah ‘,bil2:0:0) 47: Else 48: Writeln(‘Bilangan terbesar adalah ‘,bil3:0:0); 49: End; 50: readln; 51: End. Hue he he… keren kan? dengan bermodalkan if kita bisa menentukan bilangan mana yang terbesar dari 3 bilangan yang dimasukkan. Selain itu program ini bisa mendekteksi jika ada bilangan yang sama. Yup, hanya itu intinya. Prinsip utama program ini hanya membandingkan bilangan satu dengan yang lain. Mudah bukan? lebih baik kalian ngerjain yang ini tanpa ngeliat tu program, biar logikanya jalan… Program 4 : penggurutan angka (looping) Pernahkah kalian dikasih nilai ulangan siswa lalu disuruh ngurutin dari yang kecil ke gede? Kalo jumlahnya dibawah 10 sih gak masalah, lah kalo ada 100 biji kan berabe… Ini solusinya: 1: Program Pengurutan; 2: var i, j: integer; 3: k : longint; 4: a: array[1..5] of longint; 5: begin 6: writeln(‘PROGRAM MENGGURUTKAN ANGKA’); 7: writeln(‘————————–’); 8: for i:=1 to 4 do 9: begin 10: write(‘Masukkan bilangan ke- ‘, i, ‘ : ‘);readln(a[i]) 11: end; 12: for j:=2 to 4 do 13: begin 14: k:=a[j]; 15: i:=j-1; 16: while (i>0) and (a[i]>k) do 17: begin 18: a[i+1]:=a[i]; 19: i:=i-1; 20: end; 21: a[i+1]:=k 22: end; 23: for i:=1 to 4 do 24: writeln(a[i]); 25: readln; 26: end. Hhmmm… sebenarnya gak perlu dijelasin lagi yach tu program, gua harap kalian bisa nge-trace (menelusuri) algoritma programnya. Program ini dibatasi untuk 4 angka saja, bisa diubah sesuai keinginan. Pada prinsipnya program ini memasukkan input ke dalam array, kemudian membandingkannya, bila ternyata angka sebelumnya lebih besar, maka dipindah posisinya (coba dech di trace, pasti ngerti). Program ini berguna banget buat kalian yang hobi ngitung, apa lagi buat anak smu. Untuk pengembanganya kalian bisa menghitung mean, modus dan median Program 5 : bintang (looping) Setelah sebelumnya kita bermain dengan if, sekarang ke for. Program di bawah ini akan memunculkan output berupa sekumpulan bintang yang membentuk tangga 1: Program BintangTangga; 2: const akhir=18; 3: var baris, kolom: integer; 4: begin 5: for baris:=1 to akhir do 6: begin 7: for kolom:=1 to baris do 8: write(‘*’); 9: writeln; 10: end; 11: readln; 12: end. Coba dech dijalankan, gimana hasilnya? menarik bukan?. Sekarang kita coba menampilkan sekumpulan bintang yang membentuk kubus. 1: Program BintangKubus; 2: uses crt; 3: Var i, j, x, y:integer; 4: Begin 5: clrscr; 6: Write(‘Masukkan Dimensi Kubus: ‘);Readln(x); 7: y:=0; 8: For i:=1 to x do 9: Begin 10: for j:=1 to x do 11: Begin 12: y:=y+1; 13: write(y:4); 14: if y mod x=0 then 15: Writeln; 16: End; 17: End; 18: readkey; 19: End. Gimana? baguskan? Sekarang tugas kamu membuat sekumpulan bintang berbentuk piramida dan berbentuk tangga terbalik (seperti program pertama di atas tetapi terbalik) Program 6 : penggabungan program 1, 2 dan 4 dengan membuat menu (prosedur, fungsi) Setelah dari tadi belajar logika, sekarang kita menggabungkan beberapa program sebelumnya dan dibuat menu. Untuk contoh ini kita memanfaatkan repeat. 1: Program Gabung; 2: uses crt; 3: var pilih: integer; 4: Procedure luas; 5: {copy dan paste program 1} 6: end; 7: Procedure JenisBilangan; 8: {copy dan paste program 2} 9: end; 10: Procedure Pengurutan; 11: {copy dan paste program 4} 12: End; 13: begin {program utama} 14: repeat 15: clrscr; 16: writeln(‘ PILIHAN’); 17: writeln(‘——————————————-’); 18: writeln(‘ 1. Menghitung Luas’); 19: writeln(‘ 2. Jenis Bilangan’); 20: writeln(‘ 3. Pengurutan’); 21: writeln(‘ 4. Exit’); 22: writeln(‘——————————————-’); 23: writeln; 24: writeln; 25: write(‘ Pilih Angka untuk Memilih Pilihan : ‘); 26: readln(pilih); 27: case pilih of 28: 1 : luas; 29: 2 : JenisBilangan; 30: 3 : Pengurutan; 31: 4 : exit; 32: end; 33: until pilih = 4; 34: end. Ngertikan prisip kerjanya? Jadi program ini hanya akan berakhir jika user memilih no 4. Program 7 : toko (record dengan array) Pada tutorial 5 telah dijelaskan cara penggunaan array dan record. Sekarang kita akan menggabungkan array dan record tersebut. Perhatikan program di bawah ini: 1: Program Array_dan_Record; 2: type dmhs=record 3: nrp:string[10]; 4: nama:string[25]; 5: alamat:string[50]; 6: end; 7: var data:array[1..3] of dmhs; 8: i:integer; 9: begin 10: for i:=1 to 3 do 11: begin 12: write(‘nrp : ‘);readln(data[i].nrp); 13: write(‘nama : ‘);readln(data[i].nama); 14: write(‘alamat : ‘);readln(data[i].alamat); 15: end; 16: writeln; 17: writeln(‘Data ditampilkan’); 18: for i:=1 to 3 do 19: begin 20: writeln(‘nrp : ‘, data[i].nrp); 21: writeln(‘nama : ‘, data[i].nama); 22: writeln(‘alamat : ‘, data[i].alamat); 23: end; 24: readln; 25: end. Di dalam program tersebut dideklarasikan bahwa dmhs (data mahasiswa) itu adalah record yang mempunyai field nrp, nama dan alamat (lihat baris 2 sampai 6). Selanjutnya variabel data dideklarasikan bertipe dmhs yang berbentuk array (baris ke 7). Kemudian seperti biasa untuk memasukkan data ke field digunakan “readln(data[i].nrp)”, dst (baris 10 sampai 15). Untuk menampilkannya bisa dilihat dibaris ke 18 sampai 23. Program 8 : Operasi String Yang ini sebenarnya program tambahan, habis program-program sebelumnya kan kebanyakan bermain logika matematik (tentang angka melulu). Ehh… dipikir-pikir, operasi tentang string kok gak ada? Tenaaannggg…. sekarang udah ada kok :p 1: var nama : string; 2: urutan, posisi: integer; 3: begin 4: nama:=’Dijas Keren’; 5: writeln(‘Yang ini delete’); 6: for urutan:=1 to 11 do 7: begin 8: posisi:= 13 – urutan; 9: delete(nama, posisi, 1); 10: writeln(nama); 11: end; 12: writeln; 13: nama:=’DijasKeren’; 14: writeln(‘Yang ini insert’); 15: writeln(‘Sebelum di Insert : ‘, nama); 16: insert(‘-’, nama, 6); 17: writeln(‘Setelah di Insert : ‘, nama); 18: readln; 19: end. Outputnya seperti di bawah ini Yang ini delete Dijas Keren Dijas Kere Dijas Ker Dijas Ke Dijas K Dijas Dijas Dija Dij Di D Yang ini insert Sebelum di Insert : DijasKeren Setelah di Insert : Dijas-Keren Jadi isi penggunaan delete itu => delete(string, posisinya, jumlah yang di hapus). Sedangkan insert => insert(yang mau disisipkan, string, posisinya). Gampang kan? Dengan ini bisa dibuat kayak Program 5 loh (tentang bintang). Bagaimana jika suatu saat kamu pengen ngerubah string jadi numerik atau numerik jadi string? str(angkanya:desimal yang diambil, variabel string tempat hasilnya disimpan) prosedur ini untuk mengubah numerik ke string val(string, variabel numerik tempat hasilnya disimpan, posisi salah) prosedur ini untuk mengubah string ke numerik. Khusus posisi salah, yang dideteksi adalah posisi salah yang pertama (walaupun ada 5 biji yang salah, yang ke tangkap yang pertama) Concat(string, string, string) : string Yang ini untuk menggabungkan string, ini fungsi loohh.. jadi hasil penggabungannya ditampung di Concat Ini program terakhir tentang operasi string, program pembalik kata 1: program pembalik_kata; 2: var kata,hasil,tmp:string; i:integer; 3: begin 4: write(‘Kata : ‘);readln(kata); 5: hasil:=”; 6: for i :=length(kata) downto 1 do 7: begin 8: tmp:=copy(kata,i,1); 9: hasil:=hasil+tmp; 10: end; 11: write(‘Dibalik ‘,hasil); 12: readln; 13: end. Di program ini ada dua fungsi operasi string baru yang digunakan. length(string) : integer Fungsi ini untuk menghitung panjang atau jumlah karakter. copy(string, posisinya, jumlah yang akan diambil) Fungsi ini untuk mengambil sejumlah huruf dari sting yang dimasukkan Pos(string/huruf yang akan dicari posisinya, string awal):byte Fungsi ini untuk mengetahui posisi dari string/huruf dari kata/kalimat yang dimaksud. Bila bernilai nol berarti nilai string yang dicari tidak ada Program 9 : Contoh penggunaan teori di tutor 6 Program database ini adalah contoh-contoh penggunaan fungsi dan prosedur dari Tutorial 6. Perhatikan contoh berikut: 1: Program BuatFile; 2: var fText : text; data: string; 3: begin 4: writeln(‘MENGISI DATA’); 5: writeln(‘————’); 6: assign(fText, ‘nama.txt’); 7: rewrite(fText); {gunakan reset(fText) bila file sudah ada} 8: writeln(fText, ‘dijas’); 9: writeln(fText, ‘dian’); 10: writeln(fText, ‘cecep’); 11: close(fText); 12: readln; 13: end. Prosedur yang digunakan di atas adalah prosedur no. 1 sampai 5 yang ada di Tutorial 6. Untuk membaca databasenya gunakan reset (jangan rewrite) dan gunakan prosedur no 6. Perhatikan contoh di bawah ini: assign(fText, ‘bil.dat’); reset(fText); read(fText, data); writeln(data); Sekarang kita gunain fungsi nomor 7 yachh… Fungsi ini biasa digunakan untuk membaca data yang ada dari awal/posisi tertentu sampai akhir. eof kepanjangan end of file while not eof(fText) do begin readln(fText, data); writeln(data); end; cr; Google (I dont remember the addres, just thanks to whos posting it, im just copied it)

No comments:

Post a Comment