SELMAT DATANG DI BLOG

Kamis, 28 Februari 2019

MAKALAH ALGORITMA & PEMEROGRAMAN 50 HALAMAN



MAKALAH
ALGORITMA & PEMEROGRAMAN








Disusun Oleh :


Syamsul Alam
201652016







SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
STMIK BINA BANGSA KENDARI
2019





            Alhamdulillah, puji syukur penulis haturkan kehadirat Allah SWT. Atas rahmat-Nya lah Penulis dapat menyelesaikan makalah ini tepat pada waktunya. Tak lupa Penulis juga menghaturkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah mendukung dan membantu Penulis dalam menyelesaikan makalah ini.
Dalam makalah yang berjudul ALGORITMA DAN PEMROGRAMAN ini, akan dibahas mengenai pengertian Algoritma dan Pemrograman, sejarah Algoritma itu sendiri, kemudian dasar-dasar pemrograman yang menjelaskan tentang variabel, tipe data, dan operatoryang terdapat dalam bahasa pemrograman. Selain itu, untuk mempermudahpemahaman juga sebagai bahan latihan, Penulis juga menyertakan contohprogram yang dapat dipraktekkan oleh para pembaca.
Namun demikian, Penulis merasa masih banyak sekali kekurangan dalampenyusunan makalah ini, sesuai dengan pepatah yang mengatakan bahwa tak adagading yang tak retak. Oleh karena itu, segala saran dan kritik yang membangundari yang lebih berkompeten di bidang Algoritma dan Pemrograman, penulis terima denganpenuh rasa terima kasih.
Akhir kata, Penulis berharap makalah ini dapat bermanfaat bagi parapembaca, khususnya bagi yang akan mempelajari Algoritma dan Pemrograman.



Penulis
Kendari,01,02,2019





BAB I

PENDAHULUAN

1.1 Latar Belakang

            Algoritma dan pemograman adalah jantung dari pembelajaran teknik informatika. Secara sederhana Algoritma dan pemograman merupakan urutan langkah-langkah penyelesaian suatu masalah yang tersusun secara sistematis.
            Dimasa sekarang dibutuhkan program-program yang handal untuk memenhui kebutuhan manusia yang semakin besar akan kemajuan teknologi.Hal ini sangat penting untuk dipelajari oleh seorang sarjana teknik bukan hanya sekedar dipelajari materi ini juga harus dikuasai oleh sarjana teknik informatika secara menyeluruh.
            Algoritma dan pemograman merupakan materi perkuliahan teknik informatia yang menuntut kita untuk berpikir kritis dalam menyelesaikan masalah-masalah yang terjadi dealam komputer secara cepat dan tepat.
            Penulisan makalah ini dilatar belakangi oleh tugas yang diberikan kepada penulis dan juga untuk menambah pengetahuan penulis dan para pembaca nya tentang  materi yang penulis sampaikan dalam makalah ini.

1.2 TUJUAN PEMBUATAN MAKALAH

            Adapun tujuan yang penulis ingin kamu capai dari penulisan makalah ini ialah:
Memenuhi tugas yang diberikan dosen dalam mata kuliah Algoritma dan Pemograman.
Menambah pengetahuan para pembaca mengenai Algoritma dan Pemograman khususya dalam materi struktur dasar algoritma, notasi algoritma, struktur algoritma, tipe data,  operator dan ekspresi yang penulis bahas dalam makalah kali ini.
1.      Apa  saja struktur-struktur dasar algoritma?
2.      Apa yang dimaksud dengan runtunan?
3.      Apa yang dimaksud dengan penyeleksian?
4.      Apa yang dimaksud dengan pengulangan?






















BAB II

PEMBAHASAN


           
            Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Oranghanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Andadikatakan Algorist jika anda menghitung menggunakan Angka Arab. Para ahli bahasaberusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahlisejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis bukuarab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi.
Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yangberjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan”(The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akarkata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karenakata Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran –sm berubah menjadi–thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambatlaun kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi)secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kataAlgorithm diserap menjadi Algoritma.
Bahasa Pemrograman merupakan notasi yang dipergunakan untuk mendeskripsikan proses komputasi dalam format yang dapat dibaca oleh komputer dan manusia. Proses komputasi umumnya didefinisikan secara formal menggunakan konsep matematika dari Mesin Turing. Pada dasarnya bahasa Pemrograman dirancang untuk memfasilitasi komunikasi antara manusia dengan komputer.
Sebuah bahasa pemrograman disebut Turing Complete jika dapat dipergunakan untuk mendeskripsikan semua komputasi yang dapat dilakukan Mesin Turing, yaitu memiliki variableinteger dan operator aritmatikpernyataan penugasanpernyataan sekuensialpernyataan seleksi, dan pernyataan iterasi.
            Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.

2.2 STRUKTUR DASAR ALGORITMA

            Sebuah runtunan terdiri atas satu atau lebih instruksi yang dikerjakan secara berurutan. Sebuah algoritma merupakan runtutan dari satu atau lebih instruksi yang berrlaku untuk satu kali. Urutan instruksi juga dilakukan secara kompiler dan instruksi terakhir adalah akhir dari algoritma itu sendiri
Ada dua macam model penyeleksian,yaitu:
· Pernyataan IF-THEN-ELSE
·  Pernyataan CASE
Penggunaan struktur IF-THEN-ELSE dapat gunakan jika jumlah kasus tidak banyak.Untuk jumlah kasus yang banyak, dapat menggunakan konstruksi CASE dapat menyederhanakan penulisan.
Dalam menangani kasus dengan pernyataan IF-THEN-ELSE dapat  lakukan dengan cara-cara sebagai berikut:
·  Satu Kasus
Notasi algoritma untuk analisis dengan satu kasus adalah dengan menggunakan konstruks iif-then dalam bentuk pernyataan:
If kondisi then
pernyataan
endif
· Dua Kasus
Notasi algoritma untuk analisis dengan dua kasus adalah dengan menggunakan konstruksi if-then dalam bentuk pernyataan:
If kondisi then
pernyataan_1
else  
pernyataan_2
endif
·Tiga Kasus
Notasi algoritmik untuk analisis dengan tiga kasus adalah:
If kondisi_1 then{ kasus 1 }
pernyataan_1
else
if kondisi _2 then{ kasus 2 }
pernyataan_2
else{ kasus 3 }
pernyataan_3
endif
Dalam menangani kasus dengan pernyataan CASE dapat  lakukan dengan cara sebagai berikut:
Konstruksi CASE adalah sebagai berikut:
Case ekspresi
nilai_1 pernyataan_1
nilai_2 pernyataan_2
nilai_3 pernyataan_3
. nilai_n pernyataan_n
other wise pernyataan_x
endcase
Struktur pengulangan terdiri atas dua bagian
·  Kondisi pengulangan, yakni ekspresi boolean yang harus dipenuhi  untuk melaksanakan pengulangan.
·  Badan pengulangan,yakni bagian algoritma yang diulang.
Disamping itu, biasanya terdapat juga bagian:
· Inisialisasi, yakni aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
· Terminasi, yakni aksi yang dilakukan setelah pengulangan selesai dilaksanakan.
Konstruksi pengulangan ada tiga macam. Pemilihan konstruksi dapat dilakukan sesuai dengan kondisi yang akan diprogram.
·           Pernyataan FOR
·           Pernyataan WHILE
·           Pernyataan REPEAT
       Pernyatan FOR digunakan untuk struktur pengulangan tanpa kondisi. Penyataan WHILE dan REPEAT digunakan untuk struktur pengulangan dengan kondisi.

2.3 NOTASI ALGORITMA

            Notasi algoritma bukan merupakan notasi bahasa pemograman, namun notasi ini dapat diterjemahkan oleh komputer dealam bahasa pemprograman apapun. Algoritma dapat dinotasikan kedalam tiga bentuk, yaitu:
1.   Notasi Ilmiah
       Notasi ilmiah adalah notasi algoritma yang dituliskan dalam bahasa indonesia/inggris dan dalam bentuk kalimat. Algoritma sangat cocok digunakan untuk algoritma pendek, namun kurang efektif jika digunakan untuk algoritma yang panjang.
2.    Pseudocode
            Pseudocode berasal dari dua kata pseudo dan code.pseudo berarti imitasi dan code berarti kode yang dihubungkan dalam instruksi yang ditulis dalam bahasa pemograman. Pseudo-code adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi, khususnya Pascal dan C. Bahasa pemrograman umumnya mempunyai notasi yang hampir mirip untuk beberapa instruksi seperti notasi if-then-else, while-do, repeat-until, read, write, dan sebagainya. Namun tidak seperti bahasa pemrograman yang direpotkan dengan tanda titik koma, indeks, format keluaran, kata-kata khusus, dan sebagainya, sembarang versi Pseudo-code dapat diterima asalakan perintahnya tidak membingungkan pembaca. Keuntungan menggunakan notasi Pseudo-code adalah kemudahan mentranslasi ke notasi bahasa pemrograman, karena terdapat korespodensi antara setiap Pseudo-code dengan notasi bahasa pemrograman. Sehingga Pseudo-code cocok untuk algoritma yang rumit.
Flowchart/diagram alir adalah bangan yang menggambarkan urutan langkah-langkah kegiatan atau program dariawal sampai akhir dengan menggunakan gambar atau simbol dan garis alir. Simbol-simbol yang mewakili fungsi-fungsi langkah program dan garis alir (flowlines) yang menunjukan urutan dari simbol-simbol yang akan dikerjakan. Flowchart lebih efisien digunakan dibandingkan pseudocode, ini dikarenakan jumlah simbol yang digunakan dalam flowchart lebih sedikit sehingga lebih sederhana dan mudah dipahami.
Dealam membuat flowchart tidak ada rumus atau patokan yang bersifat mutlak karenaflowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer sehingga flowchart yang dihasilkan sangat bervariasi antara satu program dengan program yang lainnya.
Berdsarkan jenisnya flowchart dapat dibedakan menjadi dua, yaitu flowchart sistem dan flowchart program. Disini akan dibahas sedikit tentang kedua jenis flowchart ini.
1)      Flowchart sistem, ialah suatu gambaran yang menjelaskan tentang:
–   file-file yang diproses oleh program
–    jenis piranti yang digunakan oleh file
–    operasi terhadap file (masukan ataupun keluaran).
2)      Flowchart program (biasa disebut juga flowchart saja), adalah suatu gambar yang menjelaskan tentang:
–   Pembacaan data
–   Pemrosesan data
–    Pengambilan keputusan terhadap data
–    Penyajian hasil pemrosesan data

“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusunsecara sistematis dan logis”.Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritmaharus logis dan harus dapat ditentukan bernilai salah atau benar.

“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.
Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.

2.4 STRUKTUR  ALGORITMA (TEKS ALGORITMA)

            Struktur algoritma merupakan penjelasan langkah-langkah dari penyelesaian suatu masalah yang tersusun secara sistematis. Langkah – langkah tersebut tidak memili standar yang baku seperti bahasa pemograman tetapi langkah-langkah tersebut mudah dipahami oleh pembacanya. Agar struktur algoritma mudah dikonversikan kedalam bahasa pemograman tertentu maka sebaiknya langkah-langkah algoritma dituliskan harus berkoresponden dengan  perintah-perintah bahasa pemograman. Struktur (teks) algoritma dibagi atas tiga bagian, yaitu bagian judul algoritma (header), bagian deklarasi dan bagian diskripsi. Disini akan dibahas secara singkat tentang ketiga bagian ini.
            Judul algoritma merupakan bagian yang menjelaskan tentang nama algoritma dan penjelasan tentang algoritma tersebut. Nama algoritma sebaiknya singkat tapi culup untuk menggambar kan apa yang akan dilakukan. Dibawah ini ada contoh nama algoritma disertai penjelasan singkat atau apa yang akan dilakukan oleh algoritma. Nama algoritma juga sering disebut dengan spesifikasi algoritma. Algoritma aharus dituliskan sesuai dengan spesifikasi yang ditentukan.
Contoh:
Program Keliling _Balok        { Judul Algoritma }
{ Menghitung keliling balok yang untuk ukuran sisi yang dibaca melalui piranti masukan lalu mencetak hasilnya dalam piranti keluaran}                     {Spesifikasi Algoritma}
            Deklarasi atau juga sering disebut kamus merupakan  bagian struktur algoritma sebagai tempat untuk mendiskripsikan semua nama yang dipakai pada algoritma. Nama tersebut dapat berupa nama type, nama konstanta, nama variabel, nama fungsi, dan nama prosedur. Semua nama tersebut dapat dipakai dalam algoritma jika telah didefinisikan terlebih dahulu didalam kamus. Penulisan nama dalam kamus sebaiknya dikelompokkan menurut jenis nama tersebut. Nama variabel belum terdefinisi nilainya ketika didefinisikan. Pendefinisian nama konstanta sekaligus memberikan harga konstanta tersebut, pada pendifinisian nama fungsi dilakukan sekaligus dengan domain atau range serta spesifikasinya. Pendefinisian nama prosedur sekaligus dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur ( kondisi awal “Initial State”, kondisi akhir “Final State” dan proses yang dilakukan).
                        Deskripsi adalah inti dari algoritma yang berisi instruksi atau panggilan aksi yang telah didefinisikan. Komponen-komponen teks algoritma dalam pemograman yaitu: instruksi dasar seperti input/output, assignment, squence (runtutan), analisa kasus dan pengulangan. Setiap langkah algoritma dibaca dari langkah paling atas hingga langkah paling bawah. Ini harus dilakukan secara benar karena urutan penulisan menentukan urutan pelaksanaan perintah.

2.5 TIPE DATA, OPERATOR dan EKSPRESI

Setiap variabel harus memiliki kejelasan tentang data apa yang dapat disimpannya. Suatu variabel tidak bisa menyimpan semua jenis data, melainkan hanya bisa menyimpan satu jenis tipe data. Dalam konteks algoritma ini, ada lima jenis tipe data yang kan dibahas, yaitu :
ü  Boolean
Tipe ini hanya mengenal dua nilai yaitu true (benar) dan false (salah). 
ü  Bilangan bulat (integer)
Tipe ini hanya mengenal bilangan bulat  ...,-3, -2, -1, 0, 1, 2, 3,...
ü  Bilangan real
Tipe ini hanya mengenal data bilangan real (gabungan dari bilangan pecahan dan bulat). Contoh : -2.3419, 394.0023, 1.1, 0.002, -11.00, 1.25E+5 (artinya 1.25 x 105), 2.78E-8 (artinya 2.78 x 10-8), dll.
ü  Char
Tipe ini untuk menampung nilai berupa simbol-simbol karakter yang kita kenal seperti huruf ‘A’ sampai ‘Z’, ‘a’ sampai ‘z’, ‘0’ sampai ‘9’, ‘@’,’#’,’$’, ‘&’, ‘+’, ‘/’, dst. Perhatikan: setiap kali kita menulis karakter selalu diapit oleh tanda (‘).
ü  String
            Tipe ini merupakan gabungan dari beberapa karakter. Misalnya ‘lemari’, ‘mesin cuci’, ‘Indonesia tanah airku’, ‘#4dfjhver  elnrejkne567^PJK’, dll. Perhatikan : penulisan string  selalu diapit dengan ( ‘ ).
Dalam bahasan kali ini akan dibahas tiga macam operator, yaitu:
Operator aritmatika adalah operator yang digunakan untuk melakukan operasi penjumlahan, pengurangan, pembagian, dan perkalian atau operator yg digunakan untuk melak  ukan perhitungan pada bilangan. Berikut ini merupakan tabel yang berisi macam-macam operator aritmatika yang dapat digunakan pada PHP.Operator relasi adalah operator penghubung yang berupa benar atau salah, sesuai dengan teorinya bahwa operator relasi mengeluarkan tipe data Boolean sehingga program akan mengeluarkan output true atau false.Operator Logika adalah Operator yang digunakan untuk menggabungkan dua kalimat sehingga terbentuk kalimat gabungan. Nilai kebenaran kalimat gabungan ini ditentukan oleh nilai kebenaran dari kalimat-kalimat pembentuknya. Operator logika di sini bertindak sebagai fungsi
            Ekspresi adalah cara menghitung dalam algoritma yang menghailkan sebuah nilai. Ekspresi terdiri dari operand dan operator. Operand adalah elemen (nilai) yang dioperasikan dengan operator tertentu.
Terdapat 3 jenis ekspresi, yaitu :
a.       Ekspresi numerik, ekspresi yang baik operand, operator dan hasilnya bertipe numerik.
Contoh :
3 + 2, 12 div 4, dan sebagainya
b.      Ekspresi relasional (ekspresi boolean), ekspresi yang operatornya terdiri dari operator perbandingan dan logika. Hasil ekspresi ini merupakan bilangan logika (true atau false).
Contoh :
not true, x < 10, dan sebagainya
c.       Ekspresi string,  ekspresi yang operatornya adalah “+” (operator penyambungan).
Contoh :
‘Teknik ’ + ‘Informatika’
1. Mengenal Bahasa Pemrograman Pascal Pascal merupakan suatu bahasa pemrograman computer tingkat tinggi yang di buat sekitar tahun 1970 oleh Niklaus Wirth dan di gunakan untuk pendidikan computer. Nama pascal di ambil dari seorang ahli matematika yang bernama blaise pascal yang menemukan mesin hitung pertama. Bahasa Pascal di rancang untuk menyelesaikan masalah dari berbagai kalangan pemakai, mulai dari para mahasiswa, pendidik, dan ilmuwan.
2. Pascal adalah bahasa pemrograman terstruktur.  Bahasa Pascal merupakan bahasa pemrograman terstruktur. Hal tersebut berarti semua program yang anda buat harus terstruktur dan teratur atau sistematis.
 3. Versi turbo pascal untuk pemrograman visual. Pemrograman pascal pada trend ini telah mengembangkan program berbasis Visual  yaitu Borland Delphi yang menggunakan dasar  bahasa Pascal pada lingkungan pemrograman Visual yang di keluarkan oleh perusahaan Borland.
 4. Struktur dan Komponen Dasar Program Pascal. Struktur dari suatu program Pascal terdiri dari sebuah judul program dan suatu blog program atau badan program. Badan.program di bagi lagi menjadi dua bagian, yaitu bagian deklarasi dan bagian pernyataan (statement). Struktur Program :
Judul Program   : program nama_program; Blok program Bagian deklarasi Deklarasi label  : Label nama_label; Deklarasi konstanta  : Const …………...; Deklarasi tipe   : Type ……………; Deklarasi variable  : Var . . …………..; Deklarasi prosedur  : Procedure nama_prosedur;     ………………………………; Deklarasi Fungsi  : Function nama_fungsi;      …………………………; Bagian pernyataan Begin (statement) ……………….; ……………….; end.
Tujuan Instruksional Umum  : Setelah mengikuti mata kuliah ini, diharapkan mahasiswa mampu  memahami konsep dasar bahasa pemrogrman pascal.
Tujuan Instruksional Khusus : Setelah mengikuti praktikum ini, mahasiswa di harapkan mampu membuat program sesuai dengan strukur bahasa program pascal yang benar.

2.6  PRAKTIKUM ALGORITMA

Konsep Dasar Bahasa Pemrograman Pascal RAKTIKUM I
            Judul Program  Judul program dalam Turbo Pascal bersifat optional dan tidak ada pengaruhnya  dalam program, Jika ditulis akan memberikan nama program serta tidak boleh mengandung spasi dan di akhiri dengan titik koma. Contoh : Program menghitung_luas_lingkaran;
            Uses Clause (Anak Kalimat) Bagian uses caluse di gunakan untuk menentukan library yang di butuhkan saat proses program. LIBRARY merupakan file penyimpan subroutine yang secara berulang di gunakan saat proses program. Contoh LIBRARY yang sering di gunakan adalah “crt”. Contoh Uses Crt; {*Menggunakan unit Crt*} Keterangan : Unit system merupakan unit yang secara otomatis akan di sertakan dalam setiap program, unit inilah mengatur semua perintah dasar input dan output pada Pascal. Sedangkan unit-unit lain hanya akan di sertakan bila kita pilih pada bagian uses.
            Declaration Bagian ini meliputi deklarasi untuk label, const, type, var, procedure dan function. Syarat yang paling penting dalam membentuk dan menyusun sebuah bahasa pemrograman adalah,bahasa setiap variable, constanta, procedure, function  harus di deklarasikan terlebih dahulu pada bagian deklarasi. 4.3.1. Deklarasi Label Deklarasi label di gunakan jika pada penulisan program akan menggunakan statemen GOTO (untuk meloncat ke suatu statement tertentu). Sintak: Label 100: 4.3.2. Deklarasi Konstanta Deklarasi ini di gunakan untuk mengidentifikasikan data yang nilainya sudah di tentukan dan pasti, tidak dapat di rubah dalam program. Sintaks : Const Nama_Konstanta=Nilai; Contoh: Const Phi=3.14; 4.3.3. Deklarasi Tipe Deklarasi ini di gunakan untuk menyebutkan tipe setiap data yang akan di gunakan pada program pascal. Tipe data menentukan jangkauan nilai yang mungkin dari data yang di gunakan.
            Deklarasi variable/perubah Deklarasi ini berisi data-data yang bisa berubah-ubah nilainya di dalam program. Deklarasi variable harus di letakkan setelah deklarasi tipe (jika ada). Nama variable atau identifier adalah nama yang di berikan oleh programmer. Identifier tidak hanya untuk menamai program tetapi juga untuk objek-objek Pascal yang lain, seperti variable dan konstanta. Penulisan nama variable dalam deklarasi memiliki syarat atau ketentuan sebagai berikut : 1. Setiap deklarasi tersebut harus bersifat unik (tidak boleh berupa satu sama yang lain). 2. Panjang nama maximum 63 karakter dan di awali dengan alphabet. 3. Tidak boleh mengandung karakter special kecuali tanda garis bawah (“_”) seperti : + , - , *, /,=, : , <, >, { , }, ( , ), [ , }, }, dll. 4. Tidak boleh mengandung reserved word (kata kunci), Seperti : program, uses, begin, write, read, if, else, for, or, and, end, while, dsb. 5. Tidak boleh sama dengan identifier lainnya.
 a. Deklarasi Variabel dan Tipe Data Setiap variable yang di gunakan dalam program harus di definisikan terlebih dahulu sebelum di gunakan dan di ikuti dengan jenis tipe data yang di gunakan.  Jenis – jenis tipe data yang sering di gunakan adalah sebagai berikut : b. Tipe data integer : Tipe Ukuran memori (dalam byte) Jangkauan Nilai Byte 1 0..255 Shortint 1 -128..127 Integer 2 -32768..32767 Word 2 0..65535 Longint 4 -2147483648..2147483647
c. Tipe data Real : Tipe Ukuran memori (dalam byte)
Jangkauan Nilai Single 4 1.5x10E-45..3.4x10E38 Double 8 5.0x10E-324..1.7x10E308 Extended 10 1.9x10E-4951..1.1x10E4932 Comp 8 -2E+63+1..2E+63-1
 d. Tipe data Karakter : Untuk menuliskan tipe data karakter dalam bahasa pascal di tuliskan dengan kata char  dan nilai yang dapat di tampung seperti „A‟,‟a‟,‟!‟,‟1‟, dsb.
e. Tipe data String : Nilai data dari string merupakan urutan-urutan dari karakter yang terletak di antara tanda petik tunggal. Nilai data string akan menempati memori sebesar banyaknya karakter stringnya di tambah dengan 1 byte. Bila panjang dari suatu string di dalam deklarasi variable tidak di sebutkan, maka di anggap panjangnya adalah 255 karakter. Contoh : Var Nama:string[35]; f. Tipe data Boolean : Jenis data ini mempunyai nilai TRUE dan FALSE Operator untuk jenis data ini adalah : 1. Logical Operator, yaitu : NOT, AND dan OR 2. Relational Operator, Yaitu : >,<,>=,<=,<> dan =  Cara penulisan variable adalah : var  <nama variabel>:<type variable>; Contoh yang benar : var   nama:string;  bilangan1:integer;  ab:real;
            Contoh yang salah : var  nama anda:string; {Salah karena memuat spasi antara nama dan anda}  1bilangan:integer; {Salah karena dimulai dengan angka}  A+B:real; {Salah karena mengandung operator + }   
5. Deklarasi Prosedur dan Fungsi Program dapat di bagi menjadi beberapa bagian/subprogram, yang terdiri dari suatu program utama dan satu/lebih program bagian (bisa berupa prosedur/fungsi). Deklarasi procedure/fungsi terletak pada subprogram yang menggunakannya. 
6. Begin Bagin ini adalah bagian yang akan di proses dan terdapat dalam suatu blok yang di awali dengan BEGIN dan di akhiri dengan END (penulisan END di ikuti dengan tanda titik). Bagian ini berisi pernyataan/statement yang merupakan instruksi program. Setiap statement di akhiri dengan tanda titi koma);). Bentuk umumnya adalah sebagai berikut : Begin … Statement; … End. a. Statement Bagian ini merupakan inti dari program. Seluruh perintah dan urutannya serta proses Input/Output dalam program perlu disusun secara teratur oleh penyusun program. Segala yang ada pada bagian uses maupun deklarasi merupakan pendukung bagian isi program. Dalam penulisan struktur statement dalam bahasa pascal memiliki aturan sebagai berikut :
 1. Tanda titik koma (;) merupakan pemisah antar instruksi satu dengan lainnya.
 2. Beberapa statement boleh di tulis menjadi satu baris di pisahkan dengan tanda baca titik koma (;)
3. Baris komentar di letakkan tanda (*dan*) atau diantara tnda {dan}.
4. Akhir dari program pascal di tandai dengan tanda baca titik (.) setelah kata END yang paling akhir.
b. Perintah Input/Output
1. Read/Readln Perintah Read dan Readln akan menangkap nilai masukan yang di berikan melalui keyboard dan penyimapanannya di sebuah memori computer dengan nama sesuai dengan paramaternya. Perbedaan perintah read dan readln sama dengan perbedaan perintah write dan writeln. Perintah read akan membaca masukan dari keyboard tanpa memindahkan posisi kursor setelah pembacaan, sedangkan perintah readln akan membaca masukan sekaligus memindahkan posisi kursor. Misalnya :
2. Write/Writeln Perintah writeln merupakan kependekan dari write line. Setelah menuliskan parameternya di layar, maka kursor penulisan akan langsung pindah ke baris di bawahnya atau ganti baris. Perintah write hanya menuliskan parameternya saja tanpa pindah baris. Contoh penggunaan perintah write dan writeln: 
Write(„Selamat Belajar‟); Writeln(„Pascal‟); Write(„Semoga Sukses‟);
 3. Readkey Untuk pembacaan sebuah karakter dari keyboard. Tipe data yang di hasilkan adalah char. Sintaks:READKEY; 4. Clrscr Di gunakan untuk membersihkan layar. SIntaks : Clrscr; 5. Gotoxy Untuk menempatkan posisi kursor pada layar. SIntaks:Gotoxy(X,Y:Byte); Keterangan; X=Sumbu X (Posisi horizontal), Y=sumbu Y (posisi vertical) 6. Delay Untuk menghentikan sejenak proses program. Sintaks:Delay (MS:Word); Keterangan : MS=Ukuran waktu dalam millisecond. c. Perintah yang di gunakan untuk memanipulasi string.
1. CONCAT(Fungsi) Untuk menggabungkan
2.atau’beberapa’variable.string.Sintaks : CONCAT(s1[,s2,…,sn]:string):string)STRING;Contoh : CONCAT(„ABC‟,‟DEF‟) {ABCDEF}
 2. COPY (fungsi) Mengambil satu (1) atau beberapa karakter dari sebuah string. Sintaks :COPY(S,Index,Count):String; Keterangan: S=Sebuah string (string) Index=Posisi awal kita akan mengambil beberapa karakter (integer) Count=Banyaknya karakter yang akan di ambil (integer).
3. DELETE (procedure) Menghapus sebagian karakter dari sebuah string.
Sintaks : DELETE (S,Index,Count); Keterangan : S=Sebuah string (string) Index=Posisi awal kita akan mengambil beberapa karakter (integer) Count=Banyaknya karakter yang akan di ambil (integer).
4. INSERT (prosedur) Menyisipkan satu (1) atau beberapa karakter ke dalam sebuah string. Sintaks : INSERT(Source,varS,Index); Keterangan : Source=Sumber string untuk di sisipi (string) Var S=String tujuan yang akan di sisipi oleh string Source (String) Index=Posisi mulai (integer) 5. LENGTH(fungsi) Memberikan nilai panjang dari suatu string (jumlah karakter dalam sebuah string). Sintaks: LENGTH(S); Keterangan : S=String Length(S) = Menghasilkan nilai integer. 6. POS (fungsi) Mencari posisi sebuah bagian string (substring) di dalam sebuah string/ Sintaks: POS(Substr,S); {Menghasilkan nilai Byte} Keterangan : Substr=Substring yang akan di cari posisinya di dalam sebuah string S.Bila bernilai 0 berarti nilai string yang di cari tidak ada. 7. STR(Prosedur) Merubah nilai numeric ke dalam nilai string. Sintaks : STR(N,S); Keterangan : N=data tipe integer, S=data tipe string. 8. UPCASE (fungsi) Memberikan huruf capital dari argument. Sintaks :UPCASE(S); Keterangan : S=variable bertipe karakter.
d. Perintah untuk perhitungan aritmatik 1. ABS (fungsi) Memberikan nilai mutlak dari suatu argument.
Sintaks : ABS(x); 2. COS (fungsi) Memberikan nilai dari fungsi Cosinus/ Sintaks : COS(x); 3. INT(fungsi) Memberikan nilai integer (bilangan bulat) dari suatu variable dengan membuang bilangan di belakang koma. Sintaks : INT(x); 4. SIN(fungsi) Memberikan nilai dari fungsi Sinus. 5. SQR(Fungsi) Di gunakan untuk menghitung nilai pangkat kuadrat dari suatu bilangan. Sintaks : SQR(x); Tipe dari x bisa berupa real maupun integer. Dan hasilnya akan sama dengan tipe dari x. 6. SQRT(fungsi) Di  gunakan untuk menghitung nilai akar dari suatu bilangan. Sintaks : SQRT (x). e. Perintah untuk transfer nilai dari suatu variable. 1. CHR(fungsi) Merubah nilai dari byte ke bentuk karakter yang sesuai dengan kode ASCII. Sintaks : CHR(x); Keterangan :x bertipe byte Contoh : Writeln(CHR(61); Hasilnya = a 2. ROUND(fungsi) Membulatkan tipe real ke data tipe longint. Sintaks:ROUND (x); Keterangan : Jika nilai pecahan < 0,5 maka di bulatkan ke bawah. Jika nilai pecahan > 0,5 maka di bulatkan keatas. Contoh : Writeln(„10/3 di bulatkan = „,ROUND(10/3)); Hasilnya : 10/3 di bulatkan = 3 3. TRUNC(fungsi) Membulatkan kebawah data tipe real ke data tipe longint. Sintaks :TRUNC(x); Contoh : Writeln(„20/3 di bulatkan  ke bawah=‟,TRUNC(20/3)); Hasilnya:20/3 di bulatkan ke bawah = 6
f. Keterangan Bagian keterangan berfungsi untuk menjadikan bagian-bagian atau setiap baris program dapat di baca dan di mengerti, maka perlu di beri keterangan yang akan di abaikan oleh compiler. Untuk membuat keterangan di gunakan tanda kurung kurawal {ini adalah keterangan}, atau (*ini adalah keterangan*). g. Struktur program pascal yang paling sederhana. Struktur program pascal yang paling sederhana adalah : Uses …; Var . . .; Begin . . . {Bagian isi program} end.
Contoh program : Program PertamakuPascal; Uses crt; Begin Clrscr; Writeln(„Selamat belajar Pascal !‟); Writeln(„Di STMIK Bina Bangsa Kendari‟); Readln; end.
h. Jenis-Jenis Operator : 1. Operator Assigment Assigment Operator (Operator Pengerjaan) menggunakan symbol titik dua di ikuti oleh tanda sama dengan (:=). Contoh : A:=B; 2. Binary Operator Binary operator di gunakan untuk mengoperasikan dua buah operand yang terbentuk konstanta ataupun variable. Operator ini di gunakan untuk operasi arithmatika yang berhubungan dengan nilai tipe data Integer dan Real. Operasi yang di lakukan adalah Pertambahan, Pengurangan, Perkalian, Pembagian Bulat, Pembagian Real dan Sisa Pembagian. Berikut ini adalah jenis operator yang di gunakan :
 Operator Integer Type Real Type + Penjumlahan Penjumlahan - Pengurangan Pengurangan * Perkalian Perkalian / Pembagian Pembagian DIV Hasil Bagi  MOD Sisa Bagi 
Pemrograman Terstruktur Jurusan Sistem Komputer STMIK Bina Bangsa Kendari Di Susun Oleh : Aris Susanto, S.SI 
3. Unary Operator Unary Operator, operator ini menggunakan sebuah operand saja dapat berupa unary minus dan unary plus. Contoh : +2.5, a+(+b), dll.
 4. Bitwise Operator Bitwise Operator di gunakan untuk operasi bit per bit pada nilai integer. Operator yang di gunakan antara lain sebagai berikut :
 Operator Integer Type Boolean Type NOT Bitwise Negation Logical Negation AND Bitwise AND Logical AND OR Bitwise inclusive OR Logical inclusive OR XOR Bitwise exclusive OR Logical exclusive OR
 5. Relasional Operator  Operator relasional merupakan operator untuk membandingkan dua buah nilai. Operator yang di gunakan adalah sebagai berikut : Operator Fungsi <>  Tidak sama dengan < Lebih kecil > Lebih besar <= Lebih kecil atau sama dengan >= Lebih besar atau sama dengan
KEGIATAN PRAKTIKUM Kegiatan 1. Program pertamaku; Uses crt; Begin Write („Selamat Datang di Pemrograman Pascal‟); Writeln(„STMIK Bina Bangsa Kendari‟); Readln; end. Simpan program di atas dengan memilih menu File, Save atau Save As (Alt F+S) dan beri nama file Praktikum_1.pas. Kemudian eksekusi program tersebut dengan memilih menu Run atau (Ctrl+F9). Kemudian perhatikan hasilnya. Tambahkan perintah Readln sebelum perintah end. Kemudian eksekusi kembali program tersebut dan amati hasilnya. Kegiatan-2.
Buatlah program yang mendeklarasikan suatu bilangan bertipe real, mengisi bilangan bertipe real tersebut dari keyboard, lakukan operasi tambah, kurang, bagi, kali. Tampilkan hasil dari tiap setiap operasi ke layar. Penyelesaian : Program Praktikum_2; Uses crt; Var  Bil1,Bil2:real; Begin  Clrscr; Write(„Masukkan Bilangan Pertama „); Readln(Bil1); Write(„Masukkan Bilangan Kedua‟); Readln(Bil2); Writeln(„Bilangan Pertama di Tambah Bilangan Kedua‟ , Bil1+Bil2:2:0); Writeln(„Bilangan Pertama di Kurang Bilangan Kedua‟ , Bil1-Bil2:2:0); Writeln(„Bilangan Pertama di Kali Bilangan Kedua‟ , Bil1*Bil2:2:0); Writeln(„Bilangan Pertama di Bagi Bilangan Kedua‟ , Bil1/Bil2:2:0); Readln; End.
 Kegiatan 3. Buatlah program untuk menghitung luas persegi panjang, yang dapat menerima input nilai Panjang dan nilai Lebar sehingga dapat menghasilkan nilai luas.  Penyelesaian :
 Program Menghitung_Luas_Persegi_Panjang; Uses crt; Var  Panjang, Lebar, Luas:real; Begin Clrscr; Write(„Masukkan Nilai Panjang : „); Readln(Panjang); Write(„Masukkan Nilai Lebar : „); Readln (Lebar); Luas:=Panjang*Lebar;  Clrscr; Writeln(„Luas persegi panjang adalah : „ , Luas:2:0); Readln; End. Kegiatan 4 : Buatlah program untuk menghitung umur anda yang dapat menerima input Nama, Alamat, Tahun Lahir, Tahun Sekarang.sehingga bisa menghasilkan jumlah umur anda sekarang.
Penyelesaian : Program menghitung_umur; Uses crt; Var  Nama:string[35];  Alamat:string[45];  Usia,Thn_Lahir,Thn_Sekarang:integer; Begin Clrscr; Write(„Nama Anda : „); readln(Nama); Write(„Alamat Anda : „); readln(Alamat); Write(„Tahun Lahir : „); readln(Thn_Lahir); Write(„Tahun Sekarang : „); readln(Thn_Sekarang); Usia:=Thn_Sekarang-Thn_Lahir; Clrscr; Writeln(„Program Menghitung Umur‟); Writeln(„______________________‟); Writeln(„Nama Anda Adalah : „ , Nama); Writeln(„Alamat Anda Adalah : „ , Alamat); Writeln(„Usia Anda Sekarang Adalah : „ , Usia); Readln; End.
 Tugas 1 : Buatlah Program untuk menghitung Luas dan Keliling Persegi. Input : Nilai Sisi Output : Luas Dan Keliling Persegi. Tugas 2 : Buatlah program yang menampilkan data mahasiswa berupa No. Stambuk, Nama, Nilai Tugas, Nilai UTS, Nilai UAS, dan Total Nilai. Input : No.Stambuk, Nama, Nilai Tugas, Nilai UTS, Nilai UAS. Proses : Total Nilai=(20% * Nilai Tugas) + (35% * Nilai UTS) + (45% * Nilai UAS) Output : Total Nilai 
A. Perintah Seleksi  Instruksi seleksi biasa juga di sebut dengan percabangan yaitu instruksi untuk mengambil suatu keputusan apakah suatu baris instruksi akan di proses atau tidak. Berikut ini adalah bentuk-bentuk instruksi seleksi : 1. Seleksi if/then. Di gunakan untuk memilih suatu alternatif apakah akan di kerjakan atau tidak, berdasarkan kondisi. Jika kondisi yang di seleksi benar dan memenuhi syarat maka alternatif tersebut akan di kerjakan akan tetapi jika tidak memenuhi syarat maka alternative tersebut tidak di kerjakan dan di abaikan. Bentuk penulisan dari perintah seleksi if/then adalah sebagai berikut: If kondisi then  Alternatif 2. Seleksi if/then/else. Di gunakan untuk menyeleksi satu di antara dua alternative berdasarkan kondisi. Bila kondisi terpenuhi, maka alternative pertama yang akan di eksekusi akan tetapi jika kondisi tidak terpenuhi, maka alternative kedua yang akan di eksekusi. Bentuk seleksi if/then/else sebagai berikut : If kondisi then  Alternatif1 Else  Alternatif2 3. Seleksi if/then/else if/else.  Di gunakan untuk menyeleksi satu di antara tiga alternative atau lebih. Bentuk umumnya adalah sebagai berikut : If kondisi then  Alternative_1 Else if kondisi then  Alternatif_2 ……………………….. Else if kondisi then  Alternatif_n       Else   alternatifN+1
Tujuan Instruksional Umum  : Setelah mengikuti mata kuliah ini, diharapkan mahasiswa mampu  membuat program untuk menyeleksi sejumlah kasus.
Tujuan Instruksional Khusus : Setelah mengikuti praktikum ini, mahasiswa di harapkan menyusun program menggunakan instruksi seleksi.
Instruksi Seleksi PRAKTIKUM II
  Keterangan : 1. Alternatif_1 di eksekusi jika kondisi_1 bernilai benar; 2. Alternati_2 di eksekusi  jika kondisi_2 bernilai benar dan kondisi_1 bernilai salah; 3. Alternatif_n di eksekusi jika kondisi_1 bernilai salah, kondisi_2 bernilai salah dan kondisi_n bernilai benar; 4. Alternatif_n+1 di eksekusi jika kondisi_1, kondisi_2, sampai dengan kondisi_n bernilai salah. 5. Seleksi Case  Di gunakan untuk menyederhanakan instruksi if/then/else if/else yang terlalu banyak. Bentuk dari seleksi case adalah sebagai berikut :  
Case (variable) of  Nilai_1 : Alternatif_1;  Nilai_2 : Alternatif_2;  ……………………;  Nilai_n : Alternatif_n; Else Alternatif_n+1; End;
 Penjelasan :
1. Alternatif_1 di kerjakan jika nilai variable sama dengan nilai_1 2. Alternatif_2 di pilih jika nilai variable sama dengan nilai_2 3. Alternative_n di pilih jika nilai variable sama dengan nilai_n 4. Alternatif_n+1 di pilih jika nilai variable tidak sama dengan nilai_1 sampai dengan nilai_n.
 Kegiatan Praktikum : Kegiatan_1: Buatlah program untuk membaca sebuah bilangan. Jika bilangan tersebut habis di bagi dengan 2, maka akan menampilkan keterangan bahwa bilangan tersebut adalah bilangan genap dan jika tidak maka akan tampil keterangan bahwa bilangan tersebut adalah bilangan ganjil.
  Penyelesaian : Program Mencari_Bilangan_Genap_Ganjil; Uses crt; Var  Angka:integer; Begin Clrscr; Write(„Masukkan sebuah angka : „); Readln(Angka);  If (Angka Mod 2=0) then   Writeln(Angka, „Adalah Bilangan Genap‟)  Else   Writeln(Angka, „Adalah Bilangan Ganjil‟); Readln; end.
 Kegiatan_2: CV. Sumber Info Media memberikan tunjangan keluarga kepada karyawan sebesar 10% dari gaji pokok dan tunjangan anak sebesar 2% dari gaji pokok untuk setiap anak. Jumlah anak yang boleh masuk tanggungan adalah maksimal 2 orang anak. Gaji pokok di dasarkan pada masing-masing golongan. Untuk golongan 1 memiliki gaji pokok sebesar 500000, golongan 2 memiliki gaji pokok sebesar 600000, golongan 3 memiliki gaji pokok sebesar 700000 dan golongan 4 memiliki gaji pokok sebesar 1000000.  Penyelesaian : Program Menghitung_Gaji_Pegawai; Uses crt; Var  JA:Byte; Gapok:Longint; Nama,nik:string; Totalgaji,t_anak,t_keluarga:real; Gol,status:char; Begin Clrscr; Write(„Nomor Induk Pegawai : „); Readln(nik); Write(„Nama Karyawan : „); Readln(nama); Write(„Golongan [1/2/3/4] : „); Readln(gol); Write(„Status [K/B] : „); Readln(status); Write(„Jumlah Anak : „); Readln(ja); If (gol=‟1‟) then gapok:=500000
Pemrograman Terstruktur Jurusan Sistem Komputer STMIK Bina Bangsa Kendari Di Susun Oleh : Aris Susanto, S.SI 
 Else if (gol=‟2‟) then gapok:=600000 Else if (gol=‟3‟) then gapok:=700000 Else gapok:=1000000; If (status=‟K‟) then t_keluarga:=10/100*gapok Else t_keluarga:=0; If JA>2 then t_anak:=2*gapok*2/100 Else t_anak:=JA*gapok*2/100; Totalgaji:=gapok+t_keluarga+t_anak; Clrscr; Writeln(„NIK Karyawan : „,NIK); Writeln(„Nama Karyawan :‟,Nama); Writeln(„Golongan :‟,gol); Writeln(„Status Kawin : „,status); Writeln(„Jumlah Anak : „,JA); Writeln(„Gaji Pokok : Rp.„ , gapok:2:0); Writeln(„Tunjangan Keluarga : Rp. „, t_keluarga:2:0); Writeln(„Tunjangan Anak : Rp. „, t_anak:2:0); Writeln(„Total Gaji : Rp. „ , totalgaji:2:0); Readln; end.
 Kegiatan-3: Manipulasi program yang anda ketik sebelumnya dengan cara mengganti perintah if dengan perintah case untuk menentukan gaji pokok berdasarkan golongan.
Program menghitung_gaji_pegawai; Uses crt; Var  Ja:byte;  Gapok:longint;  Nama,nik:string;  Totalgaji,t_anak,t_keluarga:real;  Status,gol:char; Begin Clrscr; Write(„NO.Induk Pegawai : „); readln(nik); Write(„Nama Pegawai : „); readln(nama); Write(„Golongan [1,2,3,4] : „) readln(gol); Write(„Status [K/B] : „); readln(status); Write(„Jumlah Anak : „); readln(ja); Case gol of „1‟ : gapok:=500000; „2‟ : gapok:=600000; „3‟ :gapok:=700000;
   Else gapok:=1000000; End; If (status=‟k‟) or (status=‟K‟) then t_keluarga:=10/100*gapok else t_keluarga:=0; if ja>2 then t_anak:=2*gapok*2/100 else t_anak:=ja*gapok*2/100; totalgaji:=gapok+t_keluarga+t_anak; clrscr; Writeln(„NIK Karyawan : „,NIK); Writeln(„Nama Karyawan :‟,Nama); Writeln(„Golongan :‟,gol); Writeln(„Status Kawin : „,status); Writeln(„Jumlah Anak : „,JA); Writeln(„Gaji Pokok : Rp.„ , gapok:2:0); Writeln(„Tunjangan Keluarga : Rp. „, t_keluarga:2:0); Writeln(„Tunjangan Anak : Rp. „, t_anak:2:0); Writeln(„Total Gaji : Rp. „ , totalgaji:2:0); Readln; End.
 Kegiatan :  Buatlah program untuk menyelesaikan kasus-kasus di bawah ini : 1. Buatlah program yang menampilkan data mahasiswa berupa No. Stambuk, Nama, Nilai Tugas, Nilai UTS, Nilai UAS dan Total Nilai. Input : No.Stambuk, Nama, Nilai Tugas, Nilai UTS, Nilai UAS Proses : Total Nilai =20%*Nilai Tugas+35%*Nilai UTS+45% Nilai UAS     Jika Total Nilai>=85, maka nilai huruf=”A”     Jika Total Nilai>=75, maka nilai huruf=”B”     Jika total Nilai>=65, maka nilai huruf=”C”     Jika Total Nilai>=45, Maka nilai huruf=”D”     Jika Total Nilai<45, maka nilia huruf=”E” Keluaran : Total Nilai, Nilai Huruf.
A. Perintah Perulangan
 1. Perulangan for…to…do Pernyataan for…to…do di gunakan untuk menyelesaikan proses perulangan. Perulangan dengan pernyataan for dapat berupa perulangan positif („to‟) dan perulangan negative („downto‟). Jika pernyataan yang akan mengalami perulangan lebih dari satu pernyataan, maka harus di awali dengan begin dan di akhiri dengan end; Bentuk for positif : For variable:=Awal to akhir do („Instruksi yang di proses berulang-ulang‟) Bentuk for negative: For variable:=Awal down to akhir do („Instruksi yang di proses berulang-ulang‟)
 2. Perulangan While.  Perulangan While Di gunakan untuk pengujian syarat pada awal proses berulang pengujian awal di gunakan agar program dapat menyeleksi kondisi, sehingga program dapat menentukan tindakan apa yang harus di kerjakan, tergantung dari kondisi yang di seleksi tersebut. Bentuk while :
 While kondisi do („Instruksi yang di proses berulang-ulang‟);
 Contoh 1: Angka:=1; While Angka<=10 do Begin Write(Angka,‟ „); Inc(Angka); {Nilai di naikan sebanyak 1 sampai dengan 10} End;
 Tujuan Instruksional Umum  : Setelah mengikuti mata kuliah ini, diharapkan mahasiswa mampu membuat program untuk menyelesaikan sejumlah kasus.
Tujuan Instruksional Khusus : Setelah mengikuti praktikum ini, mahasiswa di harapkan mampu menyusun program menggunakan instruksi perulangan.
Instruksi Perulangan/Looping PRAKTIKUM III Contoh 2: Angka:=25; While Angka>=1 do Begin Write(Angka,‟ „); Dec(Angka); {Nilai di turunkan sebanyak 1 sampai dengan 1} End;
 3. Perulangan Repeat.  Perulangan Repeat Di gunakan untuk melakukan perulangan terhadap suatu pernyataan, dimana proses pemeriksaan syaratnya berada pada akhir pernyataan repeat tersebut. Pernyataan-pernyataan yang ada pada repeat akan di jalankan (diulang terus) sampai kondisi yang di seleksi di until tidak terpenuhi. Bentuk penulisan :
Repeat („Instruksi yang akan di proses berulang‟) Until Kondisi   Contoh 1:
 Angka :=1; Repeat Write(Angka,‟ „); Inc(Angka);{Nilai di naikkan sebanyak 1} Until Angka>25;
Contoh 2 :
 Angka:=25; Repeat  Write(Angka,‟ „);  Dec(Angka); {Nilai di kurangi sebanyak 1} Until Angka<1;
Pemrograman Terstruktur Jurusan Sistem Komputer STMIK Bina Bangsa Kendari Di Susun Oleh : Aris Susanto, S.SI 
 Kegiatan 1: Buatlah program yang dapat menampilkan bilangan genap dari bilangan 2 s/d 100. Penyelesaian : Program menampilkan_bilangan; Uses crt; Var angka:integer; Begin Clrscr; Writeln(„Bilangan Genap 1 s.d 100‟); For Angka:=1 to 100 do If Angka mod 2=0 then write(Angka); Readln; end.
 Kegiatan 2: Buatlah program menghitung gaji pegawai dengan menggunakan perulangan. Penyelesaian : Program menghitung_gaji_pegawai; Uses crt; Var JA:Byte; Gapok:longint; Nama,NIK:string; Totalgaji,T_Anak,T_Keluarga:real; Gol,Status,Lagi:Char; Begin Repeat Clrscr; {Perintah Input Data} Write(„No.Induk Karyawan :‟);readln(NIK); Write(„Nama Karyawan :‟);readln(Nama); Write(„Golongan [1/2/3/4] :‟); readln(Gol); Write(„Status [K/B] :‟);readln(Status); Write(„Jumlah Anak : „); readln(JA); {Perintah menentukan gaji pokok berdasarkan golongan} If (Gol=‟1‟) then Gapok:=500000  Else if (Gol=‟2‟) then Gapok:=600000  Else if (Gol=‟3‟) then Gapok:=700000 Else Gapok:=1000000; {Perintah Menghitung Tunjangan Keluarga} Pemrograman Terstruktur Jurusan Sistem Komputer STMIK Bina Bangsa Kendari Di Susun Oleh : Aris Susanto, S.SI 
 If UPCASE (Status)=‟K‟ then T_Keluarga:=10/100*Gapok Else T_Keluarga:=0; {Perintah menghitung Tunjangan Anak} If JA>2 then T_Anak:=2*Gapok*2/100 Else T_Anak:=JA*Gapok*2/100; Total_Gaji:=Gapok+T_Keluarga+T_Anak; {Perintah Menampilkan Hasil Akhir/Output} Clrscr; Writeln(„NIK Karyawan : „ , NIK); Writeln(„Nama Karyawan : „ , Nama); Writeln(„Golongan : „ , Gol); Writeln(„Status Kawin : „ , Status); Writeln(„Jumlah Anak : „ , JA); Writeln(„Gaji Pokok : „ , Gapok); Writeln(„Tunjangan Keluarga : Rp.„ , T_Keluarga:2:0); Writeln(„Tunjangan Anak  : Rp.„ , T_Anak:2:0); Writeln(„Total Gaji : Rp. „ , Total_Gaji:2:0); Writeln; Write(„Apakan Masih Ada Data [Y/T] : „); readln(Lagi); Until UPCASE (Lagi)=‟T‟; end.
 Kegiatan 3 : Program membalik kalimat.
Penyelesaian :
Program membalik_kalimat; Uses crt; Var  I,Panjang:integer;  Kata,Balik:string; Begin Clrscr; Writeln(„Balik Kalimat‟); Writeln(„-----------------„); Write(„Masukkan Sebuah Kalimat :‟); read(Kata); Panjang:=Length(Kata); For I:=Panjang Downto 1 do Balik:=Balik+Upcase(Kata[I]); Writeln(„Hasil Pembalikannya : „,Balik); Readln; End.
 Kegiatan 4 : Menghitung nilai perpangkatan dan nilai factorial.
Penyelesaian :
Program perpangkatan; Uses crt; Var  Hasil:real;  I,Pilih,A,X,N:Integer;  Status:Boolean; Begin Repeat Clrscr; Writeln(„1. Pemangkatan 2. Faktorial 3.Keluar‟); Write(„Masukkan Pilihan Anda : „); Readln(Pilih); Case Pilh Of 1 : Begin  Write(„Masukkan Sembarang Angka : „);  Readln(X);  Write(„Akan di pangkatkan berapa : „);  Readln(A);  Hasil:=1;  For  I := 1 to A do Hasil:=X * Hasil;  Writeln(„Jadi „, X, „Di pangkatkan „, A,‟ : „, Hasil:2:0);  Status:=False;  End; 2 : Begin  Write(„Masukkan Sembarang Angka : „);  Readln(N);  If N<= 1 Then Hasil:=1  Else  Begin   Hasil:=1;   For I := 2 To N do Hasil := Hasil * I;  End;  Writeln(„Jadi Factorial „ , N, „(„, N, „!):‟,Hasil:2:0);  Status:=False;  End; 3 : Status :=True;  Else    Begin   Writeln(„Pilihan Anda Salah ! „);   Status:=True;   End;  End;  Readln;  Until status; end.
 Kegiatan : Buatlah program menggunakan perintah perulangan untuk menampilkan bilangan ganjil 1 s/d 99.
  A. Procedure
Program Pascal akan menjadi mudah dibuat jika ditulis dalam bentuk modul-modul. Sistem ini memiliki beberapa keuntungan, diantaranya :
1. Untuk langkah-langkah yang sering di lakukan (bukan perulangan), akan terhindar dari pembuatan pernyataan-pernyataan yang sama.
2. Suatu modul program hanya sekali di tetapkan dan dapat di panggil dari beberapa tempat dalam progam. Sekumpulan data yang berbeda juga dapat di proses setiap kali modul tersebut di jalankan.
Dengan menggunakan sistem modul ini panjang program akan dapat di kurangi. Dalam pascal terdapat dua tipe modul, yaitu prosedur dan fungsi (procedures and functions). Hanya cara pemanggilannya berbeda, dan memberikan informasi dengan cara yang berbeda. Pada praktikum-praktikum sebelumnya telah di gunakan beberapa prosedur bawaan, misalnya Write, Writeln, Read dan Readln, serta Fungsi Bawaan, misalnya sqr, dll.
Prosedur (Procedure) memiliki struktur yang sama dengan struktur program, yaitu terdiri dari nama prosedur, pengumuman-pengumuman atau deklarasi (kecuali pengumuman uses), dan bagian utama (pernyataan) dari prosedur tersebut. Di dalam prosedur juga di mungkinkan terdapat procedure (atau fungsi) lainnya , sehingga dapat di sebut dengan prosedur berasarang (nested procedures).
 Bentuk Prosedure :
Procedure Nama(Daftar Paramater)
Begin
 Deklarasi variable local
 Daftar Pernyataan
End;
 Fungsi (functions) hampir sama dengan prosedur, dengan sedikit perbedaan bahwa nama fungsi sekaligus berfungsi sebagai suatu ungkapan (pada blok pemanggil fungsi tersebut).
Sehingga setiap fungsi harus di umumkan tipe datanya.
 Tujuan Instruksional Umum  : Setelah mengikuti mata kuliah ini, diharapkan mahasiswa mampu membuat program untuk menyelesaikan sejumlah kasus.
Tujuan Instruksional Khusus : Setelah mengikuti praktikum ini, mahasiswa di harapkan mampu menyusun program menggunakan instruksi procedure dan function.
Instruksi Procedure dan Function PRAKTIKUM IV
Bentuk Function :
Function Nama (Daftar Parameter):Tipe;
Begin
 Deklarasi Variabel Local
 Daftar Pernyataan
End;
Parameter : Variabel yang di tempatkan dalam judul procedure/ fungsi untuk menerima nilai jika ada nilai yang di kirim ke dalam sebuah procedure/fungsi.
g. Kegiatan Praktikum
Kegiatan 1 : Program untuk mencetak garis dan kalimat menggunakan Procedure.
Penyelesaian :
Program Mencetak_Garis_dan_Kalimat; Uses crt; Var  I,Panjang,:Integer;  Kata:String; Procedure Cetak; Begin  Writeln(Kata); End; Procedure Garis; Begin  For I:= 1 To Length (Kata) Do  Write(„=‟); End; Begin Write(„Masukkan Sebuah Kalimat : „); Readln(Kata); Clrscr; Garis; {Memanggil Prosedure Garis} Writeln; Cetak; {Panggil Prosedure Cetak} Garis; {Panggil Prosedure Garis} Readkey; {Menunggu menekan tombol di keyboard} End.
 Kegiatan 2 : Program menghitung pangkat dan Faktorial. Penyelesaian : Program Perpangkatan_dan_Faktorial; Uses crt; Var  Hasil:real;  I,Pilih,A,X,N:Integer;  Status:Boolean; Procedure Pangkat; Begin  Write(„Masukkan Sembarang Angka : „);  Readln(X);  Write(„Akan Di Pangkatkan Berapa : „);  Readln(A);  Hasil:=1;  For I := 1 To A Do Hasil:=X * Hasil;  Writeln(„Jadi „ , X , „Di Pangkatkan „, A ,‟ : „ ,Hasil:2:0); End; Procedure Faktorial; Begin  Write(„Masukkan Sembarang Angka : „);  Readln(N);  If N <= 1 Then Hasil:= 1  Else  Begin   Hasil:=1;   For I :=2 To N Do Hasil:= Hasil * I;  End;  Writeln(„Jadi Factorial „ , N , „ („, N, „!) : „, Hasil:2:0); End; {Program Utama} Begin Repeat Clrscr; Writeln(„>>Menu Pilihan<<‟); Writeln(„>>==========<<‟); Writeln(„1. Pemangkatan „); Writeln(„2. Faktorial „); Writeln(„3. Keluar „); Writeln(„===============‟); Write(„Pilihan Anda [1,2,3] : „); Readln(Pilih); Case Pilih of 1 : Begin  Pangkat;  Status:=False;  End; 2 : Begin  Faktorial;  Status:=False;
 End; 3 : Status := True;  Else  Begin   Writeln(„Pilihan Anda Salah ! „);  Status:=True;  End;  End;  Readln; Until Status; End.
Kegiatan-3 : Menghitung Luas dan Keliling Lingkaran dengan Function. 
Program Menghitung_Luas_dan_Keliling_Lingkaran; Uses crt; Const Phi=3.14; Var  K,L,R: Real; {K:Keliling, L:Luas, R:Jari-Jari}  Pilih:Integer; Function Luas (Jari:Real):Real; Begin  Luas:=Phi*Jari*Jari; End; Function Keliling(Jari:real):real; Begin  Keliling:=2*Phi*Jari; End; {Program Utama} Begin  Repeat Clrscr; GOTOXY(10,4); Write(„Masukkan Nilai Jari-Jari Lingkaran : „); GOTOXY(45,4); readln(R); GOTOXY(10,6); write(„1. Hitung Luas Lingkaran „); GOTOXY(10,7); write(„2. Hitung Keliling Lingkaran „); GOTOXY(10,8); write(„3. Selesai : „); GOTOXY(10,9); write(„Pilihan Anda [   ] „); Repeat  GOTOXY(24,9); Readln(Pilih); Until Pilih In [1,2,3]; Case Pilih Of 1 : Begin  L:=Luas(R); GOTOXY(10,11); Write(„Luas Lingkaran : „); GOTOXY(26,11); Write(L:2:0); End; 2 : Begin  K:=Keliling(R);  GOTOXY(10,11); Write(„Keliling Lingkaran : „);  GOTOXY(26,11); Write(K:2:0);
End; End; Readkey; Until Pilh=3; End.
Kegiatan 4 : Buatlah program untuk menyelesaikan kasus-kasus berikut.
Buatlah program berikut ini dengan menggunakan menu pilihan :
>>>MENU PILIHAN<<<
===================
1. Menghitung Luas Persegi Panjang
2. Menghitung Luas Lingkaran
3. Menghitung Luas Persegi
4. Program menghitung Gaji Pegawai
5. Selesai
Pilihan Anda [  ]
Keterangan :
Jika Pilhan = 1,    maka akan memanggil program menghitung luas persegi panjang dan menampilkan luas persegi panjang.
Jika Pilhan = 2 , Maka akan memanggil program menghitung luas lingkaran dan      menampilkan luas lingkaran.
Jika Pilihan =3, Maka akan memanggil program menghitung luas persegi dan menampilkan luas persegi.
Jika Pilhan = 4,  Maka akan memanggil program menghitung Gaji Pegawai dan menampilkan output seperti pada contoh program menghitung gaji pegawai yang anda kerjakan sebelumnya.
Jika Pilihan = 5,     maka akan selesai.
 A. Larik
Larik adalah suatu wadah yang di gunakan untuk menampung data yang sejenis. Berdasarkan dimensi maka larik dapat di kategorikan menjadi 3 jenis yaitu : 1.Vektor (Larik yang berdimensi satu)
2. Matriks (Larik yang berdimensi dua)
3. Tensor yaitu matrik berdimensi lebih dari dua.
Pendefinisian array secara umum adalah sebagai berikut : Jika kita ingin membuat beberapa array dengan tipe yang sama, maka lebih baik jika kita mendeklarasikan dengan type selanjutnya dengan deklarasi var dengan bentuk :
Type
 Nama_Array=ARRAY[bawah..atas]of tipe_data;
Var
 Variabel_Array:Nama_Array;
Atau dengan menggunakan statement var:
Var
 Variable_array:ARRAY[bawah..atas]of tipe_data;
Keterangan : Bawah dan atas menyatakan batas untuk array. Tipe_data merupakan tipe variable yang di punyai array(misalkan : Integer,char,real,dsb)
B. Kegiatan Praktikum
Kegiatan I.
Program Menggunakan_Array; Uses crt; Var A:ARRAY[1..10] Of BYTE; Begin A[1]:=10; A[2]:=25; A[3]:=A[1]+A[2]; Writeln(A[1]); Writeln(A[2]); Writeln(A[3]); End.
             Tujuan Instruksional Umum  : Setelah mengikuti mata kuliah ini, diharapkan mahasiswa mampu membuat program untuk menyelesaikan sejumlah kasus.
Tujuan Instruksional Khusus : Setelah mengikuti praktikum ini, mahasiswa di harapkan mampu menyusun program menggunakan instruksi Vektor.
Larik Dimensi Satu (Vektor) PRAKTIKUM V
  Kegiatan 2. Program menggabungkan 2 buah Vektor.
Program menggunakan_vektor; Uses crt; Const N=5; Const M=10; Var  A:ARRAY[1..N] Of Integer;  B:ARRAY[1..M] Of Integer;  C:ARRAY[1..N+M] Of Integer;  Indeks,L:Integer;  Lagi:Char; Procedure Baca_A; Begin  For Indeks:=1 To N Do  Begin  GotoXY(5,4);Write(„Elemen Larik A[   ] = [    ]‟);  GotoXY(20,4);Write(Indeks);  GotoXY(24,4);Read(A[Indeks]);  End; End; Procedure Baca_B; Begin  For Indeks:=1 To M Do  Begin  GotoXY(5,5);Write(„Elemen Larik B[   ] = [    ]‟);  GotoXY(20,5);Write(Indeks);  GotoXY(24,5);Read(B[Indeks]);  End; End; Procedure Gabung; Begin  For Indeks:=1 To N Do  C[Indeks]:=A[Indeks]; L:=M+N; For Indeks:=N+1 To L Do C[Indeks] := B[Indeks-N]; End; Procedure Cetak; Begin Clrscr; Writeln(„>>Isi Vektor A<<‟); For Indeks:=1 To N Do Write (A[Indeks], „ „); Writeln; Writeln(„>>Isi Vektor B<<‟); For Indeks:=1 To M Do Write(B[Indeks], „  „); Writeln; Writeln(„>>Isi Vektor C=Vektor A+Vektor B<<‟); For Indeks:=1 To N+M Do
  Write(C[Indeks], „  „); End; Begin Repeat Clrscr; Baca_A; Baca_B; Gabung; Cetak; Writeln; Write(„Masih Ada Data [Y/T] : „); Readln(Lagi); Until UPCASE (Lagi)=‟T‟; End. Kegiatan 3. Mengurutkan Isi Larik
Program mengurutkan_isi_larik; Uses crt; Const N=6; Var  Data:ARRAY [1..N]  Of Integer;  I,J,Temp:Integer;  Lagi:Char; Procedure Baca; Begin For I:=1 To N Do Begin GotoXY(5,4); Write(„Data Ke – [    ] = [    ] „); GotoXY(14,4);Write(I); GotoXY(18,4);Read(Data[I]); End; End; Procedure Sorting; Begin  For I:=1 To N-1 Do  Begin   For J:=I+1 To N Do   Begin   If Data[I] > Data [J] Then   Begin   Temp:=Data[I];   Data[I]:=Data[J];   Data[J]:=Temp;   End;  End; End; End; Procedure Cetak; Begin For I:=1 To N Do
  Write(Data[I], „ „); End; {Program Utama} Begin Repat Clrscr; Baca; Clrscr; Writeln(„Data Sebelum Di Urutkan‟); Cetak; Sorting; Writeln; Writeln; Writeln(„Data Setelah Di Urutkan‟); Cetak; Writeln; Write(„Masih Ada Data [Y/T] : „); Readln(Lagi); Until UPCASE(Lagi)=‟T‟; End. Kegiatan 4. Program Menghitung Gaji Karyawan
Program Perhitungan_Gaji_Pegawai; Uses crt; Const N=100; Var  JA:Array[1..N] Of Byte;  Gapok:Longint;  NIK:Array[1..N];  Nama:Array[1..N];  Totalgaji,Tanak,Tkeluarga:real;  Gol,Status:Array[1..N] Of Char;  Lagi:Char;  I,J,Baris,Jumlah:Integer; Procedure Garis; Begin  For J:=1 To 80 Do  Write(„-„); End; {Program Utama} Begin Lagi:=‟Y‟; I:=0; While UPCASE(Lagi)=‟Y‟ Do Begin  INC(I);  Clrscr; {Input Data}  GotoXY(5,2); Write(„Entri Identitas Pegawai‟);  GotoXY(5,3); Write(„=================‟);
  Pemrograman Terstruktur Jurusan Sistem Komputer STMIK Bina Bangsa Kendari Di Susun Oleh : Aris Susanto, S.SI 
 GotoXY(5,4); Write(„No.Induk Karyawan : [                      ] „);  GotoXY(25,4); Readln(NIK[I]);  GotoXY(5,50); Write(„Nama Karyawan   :  [                        ] „);  GotoXY(25,5); Readln(Nama[I]);  GotoXY(5,6); Write(„Golongan [1/2/3/4] :  [       ] „);  GotoXY(25,6); Readln(Gol[I]);  GotoXY(5,7); Write(„Status [K/B]   :   [        ]  „);  GotoXY(25,7); Readln(Status[I]);  If UPCASE (Status[I]=‟K‟ Then  Begin  GotoXY(5,8); Write(„Jumlah Anak   :  [         ]  „);  GotoXY(25,8); Readln(JA[I]);  End  Else  JA[I]:=0;  GotoXY(5,10); Write(„Masih Ada Data [Y/T]  : [      ] „);  GotoXY(27,10); Readln(Lagi);  End;  Jumlah:=10;  {Cetak Laporan}  Clrscr;  GotoXY(1,1); Write(„Daftar Gaji Karyawan PT.Maju Mundur „);  GotoXY(1,2); Garis;  GotoXY(1,3);Write(„ | „);  GotoXY(2,3);Write(„No. „);  GotoXY(5,3);Write(„ | „);  GotoXY(6,3);Write(„N I K „);  GotoXY(14,3); Write(„ | „);  GotoXY(15,3); Write(„Nama Karyawan „);  GotoXY(30,3); Write(„ I „);  GotoXY(31,3); Write(„Gol‟);  GotoXY(34,3); Write(„ | „);  GotoXY(35,3); Write(„Status‟);  GotoXY(41,3); Write(„ | „);  GotoXY(42,3); Write(„Anak‟);  GotoXY(46,3); Write(„ | „);  GotoXY(47,3); Write(„ Gapok „);  GotoXY(54,3); Write(„ | „);  GotoXY(55,3); Write(„ T.Kel „);  GotoXY(62,3); Write(„ | „);  GotoXY(63,3); Write(„T.Anak‟);  GotoXY(69,3); Write(„ | „);  GotoXY(70,3); Write(„Total Gaji‟);  GotoXY(80,3); Write(„ | „);  GotoXY(1,4); Garis;  Baris:=4;  For I:=1 To Jumlah Do  Begin   INC (Baris);  {Mencari Gaji Pokok Berdasarkan Golongan}
  If (Gol[I]=‟1‟) Then Gapok:=500000   Else If (Gol[I]=‟2‟) Then Gapok:=600000   Else If (Gol[I]=‟3‟) Then Gapok:=700000  Else Gapok:=1000000;  {Menghitung Tunjangan Keluarga}  If Status [I]=‟K‟ Then Tkeluarga:=10/100*Gapok   Else Tkeluarga:=0;  {Menghitung Tunjangan Anak}  If JA[I] > 2 Then Tanak:=2*Gapok*2/100   Else Tanak:=JA[I] * Gapok * 2/100;  Totalgaji:=Gapok+Tkeluarga+Tanak;  GotoXY(1,Baris); Write(„ | „);  GotoXY(2,Baris); Write(I);  GotoXY(5,Baris); Write(„ | „);  GotoXY(6,Baris); Write(NIK[I]);  GotoXY(14,Baris); Write(„ | „);  GotoXY(15,Baris); Write(Nama[I]);  GotoXY(30,Baris); Write(„ | „);  GotoXY(31,Baris); Write(Gol[I]);  GotoXY(34,Baris); Write(„ | „);  GotoXY(35,Baris); Write(Status[I]);  GotoXY(41,Baris); Write(„ | „);  GotoXY(42,Baris); Write(JA[I]);  GotoXY(46,Baris); Write(„ | „);  GotoXY(47,Baris); Write(Gapok:7);  GotoXY(54,Baris); Write(„ | „);  GotoXY(55,Baris); Write(Tkeluarga:6:0);  GotoXY(62,Baris); Write(„ | „);  GotoXY(63,Baris); Write(Tanak:6:0);  GotoXY(69,Baris); Write(„ | „);  GotoXY(70,Baris); Write(Totalgaji:7:0);  GotoXY(80,Baris); Write(„ | „);  If BARIS>22 Then BARIS:=4;  End;  GotoXY(1,Baris+1); Garis; Readln; End.

2.7 TIPE-TIPE ALGORITMA BERDASARKAN FORMAT PENULISAN

Penulisan  algoritma  tidak  ter-ikat  pada  suatu  aturan  tertentu, tetapi harus jelas maksudnya dari suatu penulisan algoritma untuk tiap langkah algoritmanya. Notasi algoritma bukan merupakan notasi bahasa pemograman, namun notasi ini dapat diterjemahkan kedalam berbagai bahasa pemograman. Algoritma dapat dinotasikan dalam beberapa cara, yaitu:

2.8   UNTAIAN KALIMAT DESKRIPTIF (NATURAL)

Algoritma  bertipe  deskriptif  maksudnya  ialah algoritma yang ditulis dalam bahasa manusia seperti bahasa Indonesia atau bahasa Ingris  dan dalam bentuk  kalimat. Notasi ini cocok digunakan untuk algoritma yang pendek, namun untuk notasinya  yang panjang, notasi ini kurang efektif digunakan dan juga pengkonversian notasi algoritma ke notasi bahasa pemrograman menjadi cenderung relatif sukar.

2.9 FLOW CHART (DIAGRAM ALIR)

Diagram alir atau flow chart adalah  bagan menggambarkan urutan langkah-langkah kegiatan atau program mulai dari awal sampai akhir dengan menggunakan omput atau gambar tertentu dan dan garis alir. Simbol-simbol yang mewakili fungsi-fungsi langkah program dan garis alir (flow lines) yang  menunjukkan urutan dari simbol-simbol yang akan dikerjakan. Flowchart lebih baik digunakan dibandingkan dengan menggunakan pseudocode. Jumlah simbol yang digunakan dalam flowchart sedikit, karena itu lebih sederhana dan lebih mudah dipelajari.

Dalam pembuatan flowchart program tidak ada rumus atau patokan yang bersifat mutlak, karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan omputer sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya.

2.10 CONTOH PROGRAM ALGORITMA MENGITUNG NILAI MAHASISWA

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

program menghitung_nilai_mahasiswa;
uses wincrt;
var
nama,grade,ket : string;
nilai,absen,tm,uts,uas : integer;

begin
writeln('PROGRAM MENGHITUNG NILAI MAHASISWA');
writeln('==================================');
writeln;
write('Masukan Nama Mahasiswa : ');readln(nama);
writeln('=======================');

writeln;
writeln('Masukan Nilai Mahasiswa');
writeln('=======================');
write('Nilai Absensi : ');readln(absen);
write('Nilai Tugas Mandiri : ');readln(tm);
write('Nilai UTS : ');readln(uts);
write('Nilai UAS : ');readln(uas);
nilai := (10*absen + 15*tm + 25*uts + 50*uas) div 100;

if nilai > 85 then
grade:= 'A'
else
if (nilai > 75) and (nilai < 85) then
grade:= 'B'
else
if (nilai > 65) and (nilai < 75) then
grade:= 'C'
else
if (nilai > 50) and (nilai < 65) then
grade:= 'D'
else
if (nilai > 0) and (nilai < 50) then
grade:= 'E'
else
grade:= 'F';

case nilai of
85..100 : ket:=('LULUS MEMUASKAN');
75..84 : ket:=('LULUS BAIK');
65..74 : ket:=('LULUS CUKUP');
else
ket:=('TIDAK LULUS');
end;
writeln;
writeln('MAKA HASILNYA ADALAH :');
writeln('======================');
writeln('Hasil nilai akhir ' ,nama, ' adalah ' ,nilai);
writeln('Grade yang didapat adalah ' ,grade, '
maka anda dinyatakan ' ,ket);
writeln;
writeln('==========EDITED BY : TIAN CHAN==========');
writeln('=========================================');
writeln('TERIMAKASIH TELAH MENGGUNAKAN PROGRAM INI');
readln;
end.
Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRV7oW6Vzr7ETRwR00F-0iC4EW-0JpYRQwB3f6RXUWhK1bg5uUAhG3G_RqCZiJt7J6ybFmN2cTPUIP1eezv7Rr_9xlqgJOZFzE60kR6qBN0V70MWW7jHN_lSaLPAE8INuEP22GZ2OHvCw/s1600/nilai.jpg
2.12
PERULANGAN WHILE DO PADA PASCAL
Program Project1;
var
nilai: array[1..100] of integer;
jml,n, i,j : integer;
rata: real;
begin
  write('msukan banyak data '); readln(n);
  i:= 0;
  j:=0;
  jml:=0;
  while n>i do
  begin
    i:= i + 1;
    write('masukan data ke ',i,' : '); readln(nilai[i]);
    jml:= jml + nilai[i];
    end ;
  while n> j do
  begin   j:= j + 1;
    writeln(' data ke ',j,' adalah = ',nilai[j]);
    end;
  rata:= jml/n;
  writeln('total : ',jml);
  writeln('rata-rata : ',rata:0:1);
  readln;
end.
Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTKaX_nrznk99l8JJ3Lu8bNxECTt00-_RS2APxivT55EVi9QYrhSrt8y94jfFPzEZP4lu3zv9U9xcdNb_finG2_GK6TU-eoKglgkAaQI128vic4q57SIZoNGiTUn9XtGb6O7wvD-Y684kM/s1600/Total+nilai+dan+rata-rata.png

2.13 PROGRAM KALKULATOR

Program rata_rata_kumpulan_nilai;
Uses wincrt;
Var
Banyak_nilai,urutan: integer;
Procedure rata2(a,b:integer);
Var
Nilai:array [1..999] of Integer;
Rata_rata:real;
Jumlah:integer;

Begin
For a:=1 to b do
Begin
Write ('Nilai ke-',a,' = ');readln (nilai[a]);
End;
Jumlah:=0;
For a:=1 to b do
Jumlah:=jumlah+nilai[a];
Rata_rata :=jumlah/5;
Write ('Rata-rata  = ', rata_rata:0:2);             
End;

Begin
writeln('            Program Menghitung Nilai Rata-Rata');
writeln('==========================================================');
Writeln;
Write ('Banyak nilai yang ingin diratakan = ');readln(banyak_nilai);
Rata2(urutan,banyak_nilai);
readln;
End.
Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOHnMKwDtatpcoI7a9sEhulQSXsLMTcctcL1E1HJpTdmaHqb8YzQF-E-RJr7thlY5ZFud__YISljbJjnVlYLcFRA7ljAXXPD9wTWP_Das86AAzYheODUVE5nmlLj10PJZtbIlXjTj8M-Ki/s1600/nilaiRata.png

BAB III

PENUTUP


3.1 KESIMPULAN

            Adapun kesimpulan yang dapt penulisberikan dari pembahasan materi makalah ini , yaitu:
1)    Struktur dasar algoritma terbagi atas tiga bagian, yaitu runtunan, penyeleksian dan pengulangan.
2)    Notasi algoritma bukan lah notasi bahasa pemograman tetapi iadapatdi terjemahkan dalam bahasa pemograman apaun.
3)    Notasi algoritma terbagi atas tiga bentuk, yaitu notasi alamiah, pseudocode dan flowchar/diagram alir.
4)    Struktur algoritma  terdiri dari tiga blok, yaitu bagian judul, deklarasi dan diskripsi
5)    Tipe data yang sederhana dalam algoritma ialah boolean, bilangan bulat (interger) , bilangan real, char dan string.
6)   Operator terdiri dari tiga bagian, yaitu operator aritmatika, operator relasi dan operator logika.
7)    Ekspresi adalah cara menghitung dalam algoritma yang menghasilkan sebuah nilai.

3.2 SARAN

Adapun saran yang dapat penulis sampaikan, ialah:
1)   Dalam mempelajari materi algoritma dan pemograman harus lah dipahami secara menyeluruh dan dalam materi ini kita dituntut untuk berpikir cepat dan kritis dalam menangani suatu masalah, jadi sering-seringlah berlatih.
2)   Dalam notasi algoritma model yang paling efisien digunakan adalah poseudocode.














DAFTAR PUSTAKA








 



1 komentar:

Pengertian Hardware,Software Dan Fungsinya

1. Hardware     adalah sebua perangkat keras komputer yang sifatnya dapat di sentuh atau dapat dilihat secara kasat mata jadi dapat disimpul...