SlideShare a Scribd company logo
DAFTAR PUSTAKA
DAFTAR PUSTAKA ................................................................................................................................... 1

BAB I ........................................................................................................................................................ 2

   A.      DASAR TEORI ............................................................................................................................... 2

   B.      TUJUAN ....................................................................................................................................... 6

BAB II ....................................................................................................................................................... 7

   PEMBAHASAN ..................................................................................................................................... 7

BAB III .................................................................................................................................................... 10

   A.      KESIMPULAN ............................................................................................................................. 10

   B.      HASIL ( PRINT SCREEN) .............................................................................................................. 10




                                                                                                                                                              1
BAB I

A. DASAR TEORI
          Saat program kita buat sudah menjadi besar kita akan mengalami kesulitan dalam
   mengatur kode program, jika semua kode tersebut disatukan. Untuk mengatasi
   permasalahan tersebut, kita bisa menggunakan subprogram utnuk membuat program kita
   terbagi menjadi beberapa bagian yang masing-masing lebih kecil dan lebih mudah
   dikelola.
          Pemecahan program menjadi subprogram yang lebih kecil juga akan
   mempermudah kita jika ingin membuat program yang serupa, kita hanya perlu menyalin
   atau memakai subprogram yang sudah ada di dalam program kita yang baru.
          Dalam setiap bahasa pemrograman prosedural (contohnya Pascal) umumnya
   dikenal Procedure (Prosedur) dan Function (Fungsi), dua buah bentuk subprogram yang
   umum. Fungsi adalah subprogram yang memetakan suatu nilai dari suatu domain ke
   domain lain, sedangkan prosedur adalah suatu subprogram yang melakukan aksi tertentu.
   a. Prosedur
      Prosedur memungkinkan kita membagi program dengan mengelompokkan aksi
      menjadi bagianbagianyang jelas terpisah, prosedur juga memungkinkan kita
      memisahkan bagian program yang sering diulang sehingga tidak perlu ditulis ulang
      di setiap waktu.
      Prosedur banyak digunakan pada program terstruktur karena:
               Merupakan penerapan konsep program modular, yaitu memecah-mecah
               program yang rumit menjadi program-program bagian yang lebih sederhana
               dalam bentuk-bentuk prosedur.
               Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali
               saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu
               bila diperlukan.
   b. Fungsi
       Sama seperti definisi dalam matematika, fungsi dalam pemrograman juga berarti
       pemetaan suatu nilai dari suatu domain ke domain yang lain. Pascal sudah
       menyediakan aneka fungsi standar, seperti fungsi trigonometri, fungsi kuadrat, dan
       lain-lain.



                                                                                        2
Dalam implementasinya fungsi hampir sama persis dengan prosedur (boleh memiliki
           variabel, parameter, dan lain-lain) dengan satu perbedaan yaitu fungsi dapat dan
           harus mengembalikan nilai.
    Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah
fungsi mengandung fungsi itu sendiri. Dalam dunia pemrograman, rekursi diimplementasikan
dalam sebuah fungsi yang memanggil dirinya sendiri.Contoh fungsi rekursif misalnya adalah
fungsi pangkat, faktorial, dan barisan fibonacci.
    Rekursif mempunyai kelebihan pada kode program yang lebih ringkas dan mudah
dipahami. Sedangkan kesulitannya yaitu membutuhkan alokasi memori yang besar dan tidak
cocok ketika kinerja tinggi diperlukan, karena terjadi overhead pemanggilan fungsi dalam
jumlah yang relatif besar.
    Kenapa       membuat     program        Rekursif?   Persoalan     yang    ingin   diselesaikan
memangmengandung         definisi   “rekursif”.     Program    yang    dibuat     mengolah   data
bertyperekursif. Karena programmernya ingin menulis solusirekursif, persoalan yang tidak
rekursif tidak perludiselesaikan secara rekursif, tapi bisa diselesaikansecara rekursif. Untuk
mencari solusi dari program rekursif adalah solusi rekursif yang berangkat dari
definisirekursif :Baca baik-baik persoalan, dan buatdefinisi rekursif sesuai definisi persoalan,
solusi rekursif karena persoalan diwakilioleh struktur data rekursif, buat prosedur/fungsi
rekursif (anda harusmembuat prosedur/fungsi denganparameter). Lalu apa persoalan dari
program rekursif? Yaitu program harus dijamin berhenti.Sulit dibayangkan eksekusinya tanpa
terikatdefinisinya. Dalam pemrogramanfungsional, tidak masalah sebab konstruksibukan dari
eksekusi     melainkan   dari   definisi.       Performansi,   keterbatasan     implementasimesin
pengeksekusi. Dalam paradigmafungsional, hal ini tidak menjadi masalah.


      Dengan melihat sifat sub program rekursif di atas maka sub program rekursif harus
memiliki :
       kondisi yang menyebabkan pemanggilan dirinya berhenti (disebut kondisi khusus atau
       special condition)
       pemanggilan diri sub program (yaitu bila kondisi khusus tidak dipenuhi)
Secara umum bentuk dari sub program rekursif memiliki statemen kondisional:ifkondisi
khusus tak dipenuhithen panggil diri-sendiri dengan parameter yang sesuai else lakukan
instruksi yang akan dieksekusi bila kondisi khusus dipenuhi.




                                                                                                3
Sub program rekursif umumnya dipakai untuk permasalahan yang memiliki langkah
penyelesaian yang terpola atau langkah-langkah yang teratur. Bila kita memiliki suatu
permasalahan dan kita mengetahui algoritma penyelesaiannya, kadang-kadang sub program
rekursif menjadi pilihan kita bila memang memungkinkan untuk dipergunakan. Secara
algoritmis (dari segi algoritma, yaitu bila kita mempertimbangkan penggunaan memori,
waktu eksekusi sub program) sub program rekursif sering bersifat tidak efisien. Dengan
demikian sub program rekursif umumnya memiliki efisiensi dalam penulisan perintah, tetapi
kadang tidak efisien secara algoritmis. Meskipun demikian banyak pula permasalahan-
permasalahan yang lebih sesuai diselesaikan dengan cara rekursif (misalnya dalam pencarian
/ searching, yang akan dibahas pada pertemuan-pertemuan yang akan datang)


     Salah    satutipe    data   terstruktur   yang dipelajaridalampemrogamanadalah   array
ataudenganistilahlainnyaadalahlarik.Terminologidarilarikitusendiri, yaitu:
          Larikadalahderetanrinci data yang mempunyaitipe data sejenis. Untaikarakter
          (string) merupakancontoh array.
          Setiaprinci data disebutdengankomponenatauelemen array.
          Setiaplarik (array) bias dioperasikanmenggunakanpemilihelemen array yang
          disebut index atausubskrip.
          Dalam program, index atausubskriptersebutdiletakkandalamtandakurungkotak [ ],
          setelahnama array yang akandioperasikan.
     Untukmendeklarasikan variable array ditentukandengan:
     Varnama             : array [index] of tipe;
     Dengan
               Var, array, of          : kata kunci yang harusada.
               Nama                    : nama array yang akan di deklarasikan.
              Index                    : batasan index yang akanadapada array yang akan di
                                       deklarasikan.
              Tipe                     : tipe array.
     a. Array Satu Dimensi
         Pendefinisian array secara umum adalah sebagai berikut : jika kita ingin membuat
         beberapa array dengan tipe/jenis yang sama, kita lebih baik jika mendeklarasikan
         dengan type selanjutnya dengan deklarasi var.
               Type


                                                                                         4
nama_array=array[bawah..atas] of tipe_data;
               var
                  variabel_array:nama_array;
           atau dengan menggunakan statement var:
               var
                  variabel_array:array[bawah..atas] of tipe_data;
           Penjelasan: bawah dan atas menyatakan batas untuk array, tipe_data adalah
           merupakan tipe variabel yang dipunyai array 9mis. Integer, char, real, dsb).
     b. Array Multidimensi
         Dalam array multidimensi terdiri atas baris (row) dan kolom (column). Index
         pertama adalah baris dan yang kedua adalah kolom.
               Type nama_array=array[bawah..atas, bawah..atas] of tipe_data;
               Var variabel_array:nama_array;
           Atau dengan menggunakan statement var:
               Var variabel_array:array[bawah..atas, bawah..atas] of tipe_data;


    Record merupakantipe data terstruktur, yang terdiridari item data danmasing-
masingdapatmempunyaitipe data yang berbeda-beda. Item data itudinamakanFIELD.
Deklarasitipe data record diawalidengan keyword RECORD yang diikutiolehsuatudaftar field
dandiakhiridengan keyword END.
    Contoh:
    TYPE
    Rec_Langganan = RECORD
                 KODE         : STRING[10];
                 NAMA         : STRING[30];
                ALAMAT        : STRING[50];
                PIUTANG       : REAL;
    END;
    VAR
       PELANGGAN              : Rec_Langganan;
    Ataumendeklarasikanlangsung di bagiandeklarasivariabel
    VAR
       PELANGGAN              : RECORD
               KODE           : STRING[10];
                                                                                          5
NAMA               : STRING[10];
                ALAMAT             : STRING[10];
                PIUTANG            : REAL;
    END;
    Tipe       data         recordnyaadalah    “Rec_Langganan”     dan     variable    yang
menggunakantipetersebutadalah          “PELANGGAN”,      jikainginmemberikannilaikesalahsatu
field, contohnya field “NAMA” makacarapenulisannyaadalah:
    PELANGGAN.NAMA := „Bla-Bla bin bla‟;
    Berbedadengan              array     dalamsuatu     record     masing-masing        data
bisaberlainantipedatanya.Tipe data elemen record dapatberupatipe data apasajatermasuk
array.




B. TUJUAN
   1. Laporanini di buatuntukmemenuhiTugasBesarPemrogramanDasar.
   2. Program ini di buatuntukpenjualantiketkeretaapi.
   3. Program         ini     di    buatsupayamahasiswalebihpahamtentangpenggunaan    array,
         perulangan, kondisional, procedure atau function.




                                                                                          6
BAB II
PEMBAHASAN


Program iniadalah program yang di jalankanuntukpenjualantiketkeretaapi. Didalam program
initerdapat 4 point pembahasanyaituperulangan, kondisional, procedure, dan array.
   Perulangandengan      statement        for    digunakanuntukmengulangstatemenatausuatublok
statement        berulang        kali.             Perulangandengan        statement          for
dapatberupaperulanganpositifdanperulangannegaif.Dalam program iniperulangannya :

                      for i:=15 to 78 do
                      begin
                      gotoxy(i,22);write(chr(177));
                      delay(200);
                      end;
                      textcolor(15);
                      end;



   Script          inijika           di             jalankanakanmenghasilkangaris           yang
panjangdanwarnanyatelahditentukandanpanjangdari cursor x ke-15 sampaikursor x ke-78.
   Kondisiadalahsuatu         proses             pemilihanaksidiantarabeberapa         alternative
yangdiberikan.Dalam program initerdapatkondisiyaitumenggunakan if then else :


        if a=1 then data[i].tujuan:='Bandung'
        else
        if a=2 then data[i].tujuan:='Surabaya'
        else
        if a=3 then data[i].tujuan:='Jakarta';



Script inijika di run akanmenghasilkanpilihan yang akan di tentukanpemakai program
jikamemilihangka 1 makaakanterlihat output „Bandung‟, jika 2 akankeluar output „Surabaya‟,
danjika 3 makaakankeluar output „Jakarta‟.




                                                                                                7
if a=1 then begin
   data[i].harga:=200000;
   data[i].kelas:='Bisnis';
   end
   else
   if a=2 then begin
   data[i].harga:=330000;
   data[i].kelas:='Bisnis';
   end
   else
   if a=3 then begin
   data[i].harga:=300000;
   data[i].kelas:='Bisnis';
   end;
   end;




   Script      kondisionaliniakanmencetak        data    dariinputanpengguna     program
inisesuaidenganpilihan yang telah di tentukanpengguna.
   Procedure di gunakanuntukmembagi program dengan mengelompokkan aksi menjadi
bagianbagianyang jelas terpisah, prosedur juga memungkinkan kita memisahkan bagian
program yang sering diulang sehingga tidak perlu ditulis ulang di setiap waktu. Procedure
yang di gunakanuntuk program iniadalah :

   procedurejadwal(var d:byte);
   begin
   if d=1 then begin gotoxy(3,15);writeln('Bandung            = 07.00 , 12.00 , 20.00');end
   else
   if d=2 then begin gotoxy(3,15);writeln('Surabaya = 08.00 , 13.00 , 21.00');end
   else
   if d=3 then begin gotoxy(3,15);writeln('Jakarta            = 06.00 , 11.00 , 19.00');end;

   end;



   Procedure       inijika     di      jalankanakanmemberikan        output      „jadwal‟
kepadapenggunayaitumemberikanpemilihan data yang harus di inputkanolehpengguna
program. Adapun procedure yang lainnyaseperti:




                                                                                       8
procedurehasil;
      begin
      clrscr;
      gotoxy(3,3);writeln('Nama               = ',data[i].nama);
      gotoxy(3,4);writeln('Tujuan             = ',data[i].tujuan);
      gotoxy(3,5);Writeln('Kebrangkatan = ',data[i].brangkat);
      gotoxy(3,6);writeln('Kelas                =                           ',data[i].kelas,'
      ',data[i].harga:0:2);
      gotoxy(3,7);writeln('Jumlahtiket = ',data[i].tiket);
      gotoxy(3,8);writeln('Total              = ',data[i].toth:0:2);
      end;




        Procedure hasilinijika di jalankanakanmencetakdarisemuapemilihan yang telah di
tentukanolehpengguna,            darimulai          input          nama,              tujuan,
keberangkatandanseterusnyaakanterlihatsemuapada procedure ini.
        Tipe data array digunakanuntukmenampungsederetan data dengannilai yang
sama.Pada program ini di gunakantipe data array 1 dimensi. Script programnyadalah :

            typepesan = record
            nama,tujuan,kelas,brangkat:string[50];
            harga,toth:real;
            tiket:byte;
            end;
            vardata:array[1..100] of pesan;
            i:byte;
        Array di tuliskanpada variable.Untukpembacaandatanyadapat di tulisseperti script
berikut :
            if a=1 then begin
            data[i].harga:=310000;
            data[i].kelas:='Ekonomi';
            end




                                                                                           9
BAB III


A. KESIMPULAN
     Pascal dapat di gunakanuntukmembuat program semuamacamaspek, semuafungsidari
     type,   kndisinyajugadapatdisesuaikandandapat   di   pahami.Pembuatan   program
     akanlebihmudahjikapembuatprogram mengetahuidasar-dasardari turbo pascal.
B. HASIL ( PRINT SCREEN)
     usescrt;
     typepesan = record
     nama,tujuan,kelas,brangkat:string[50];
     harga,toth:real;
     tiket:byte;
     end;
     vardata:array[1..100] of pesan;
     i:byte;


     procedureselamat;
     vari,j:byte;
     begin
     clrscr;
     gotoxy(35,9);textcolor(11);writeln('S');
     delay(400);
     gotoxy(35,9);writeln('SE');
     delay(400);
     gotoxy(35,9);writeln('SEL');
     delay(400);
     gotoxy(35,9);writeln('SELA');
     delay(400);
     gotoxy(35,9);writeln('SELAM');
     delay(400);
     gotoxy(35,9);writeln('SELAMA');
     delay(400);
     gotoxy(35,9);writeln('SELAMAT');
     delay(400);
     gotoxy(35,9);writeln('SELAMAT ');
     delay(400);
     gotoxy(35,9);writeln('SELAMAT D');
     delay(400);
     gotoxy(35,9);writeln('SELAMAT DA');
     delay(400);
     gotoxy(35,9);writeln('SELAMAT DAT');
     delay(400);
     gotoxy(35,9);writeln('SELAMAT DATA');

                                                                                  10
delay(400);
gotoxy(35,9);writeln('SELAMAT DATAN');
delay(400);
gotoxy(35,9);writeln('SELAMAT DATANG');
delay(400);
gotoxy(41,11);writeln('D');
delay(400);
gotoxy(41,11);writeln('DI');
delay(400);
gotoxy(34,13);writeln('P');
delay(400);
gotoxy(34,13);writeln('PT');
delay(400);
gotoxy(34,13);writeln('PT.');
delay(400);
gotoxy(34,13);writeln('PT.D');
delay(400);
gotoxy(34,13);writeln('PT.DA');
delay(400);
gotoxy(34,13);writeln('PT.DAS');
delay(400);
gotoxy(34,13);writeln('PT.DASS');
delay(400);
gotoxy(34,13);writeln('PT.DASSA');
delay(400);
gotoxy(34,13);writeln('PT.DASSA ');
delay(400);
gotoxy(34,13);writeln('PT.DASSA E');
delay(400);
gotoxy(34,13);writeln('PT.DASSA EX');
delay(400);
gotoxy(34,13);writeln('PT.DASSA EXP');
delay(400);
gotoxy(34,13);writeln('PT.DASSA EXPR');
delay(400);
gotoxy(34,13);writeln('PT.DASSA EXPRE');
delay(400);
gotoxy(34,13);writeln('PT.DASSA EXPRES');
delay(400);
gotoxy(34,13);writeln('PT.DASSA EXPRESS');
delay(400);
gotoxy(3,22);WRITE('LOADING : ');
delay(400);
for i:=15 to 78 do
begin
gotoxy(i,22);write(chr(177));


                                             11
delay(200);
end;
textcolor(15);
end;


procedurejadwal(var d:byte);
begin
if d=1 then begin gotoxy(3,15);writeln('Bandung   = 07.00 , 12.00 ,
20.00');end
else
if d=2 then begin gotoxy(3,15);writeln('Surabaya = 08.00 , 13.00 ,
21.00');end
else
if d=3 then begin gotoxy(3,15);writeln('Jakarta   = 06.00 , 11.00 ,
19.00');end;
end;


proceduredaftar;
var a:byte;
b,c:char;
begin
clrscr;
gotoxy(3,3);write('NamaAnda : ');readln(data[i].nama);
writeln;
gotoxy(11,4);writeln('Tujuan');
gotoxy(3,5);writeln('pilih 1 untuk Bandung');
gotoxy(3,6);writeln('pilih 2 untuk Surabaya');
gotoxy(3,7);writeln('pilih 3 untuk Jakarta');
gotoxy(3,8);Write('Pilihan : ');readln(a);
if a=1 then data[i].tujuan:='Bandung'
else
if a=2 then data[i].tujuan:='Surabaya'
else
if a=3 then data[i].tujuan:='Jakarta';
writeln;
writeln;
gotoxy(11,9);writeln('Kelas');
gotoxy(3,10);Writeln('pilih A untukBisnis');
gotoxy(3,11);writeln('pilih B untuk VIP');
gotoxy(3,12);writeln('pilih C untukEkonomi');
gotoxy(3,13);write('pilihan : ');readln(b);
case b of
 'a','A':begin
if a=1 then begin
data[i].harga:=200000;
data[i].kelas:='Bisnis';


                                                                 12
end
else
if a=2 then begin
data[i].harga:=330000;
data[i].kelas:='Bisnis';
end
else
if a=3 then begin
data[i].harga:=300000;
data[i].kelas:='Bisnis';
end;
end;
 'b','B':begin
if a=1 then begin
data[i].harga:=300000;
data[i].kelas:='VIP';
end
else
if a=2 then begin
data[i].harga:=320000;
data[i].kelas:='VIP';
end
else
if a=3 then begin
data[i].harga:=400000;
data[i].kelas:='VIP';
end;
end;
 'c','C':begin
if a=1 then begin
data[i].harga:=310000;
data[i].kelas:='Ekonomi';
end
else
if a=2 then begin
data[i].harga:=320000;
data[i].kelas:='Ekonomi';
end
else
if a=3 then begin
data[i].harga:=200000;
data[i].kelas:='Ekonomi';
end;
end;
end;



                            13
gotoxy(3,14);Write('Apakahandainginmelihatjadwal?                 (y/n):
');readln(c);
if (c='y') or (c='Y') then
begin
jadwal(a);
gotoxy(3,16);write('jadwalkeberangkatan                                =
');readln(data[i].brangkat);
end
else
gotoxy(3,17);write('Berapatiket            yang               andabeli?
');readln(data[i].tiket);
data[i].toth:=(data[i].tiket)*(data[i].harga);
gotoxy(20,18);writeln('Terimakasih');
end;


procedurehasil;
begin
clrscr;
gotoxy(3,3);writeln('Nama         = ',data[i].nama);
gotoxy(3,4);writeln('Tujuan       = ',data[i].tujuan);
gotoxy(3,5);Writeln('Kebrangkatan = ',data[i].brangkat);
gotoxy(3,6);writeln('Kelas                        =   ',data[i].kelas,'
',data[i].harga:0:2);
gotoxy(3,7);writeln('Jumlahtiket = ',data[i].tiket);
gotoxy(3,8);writeln('Total        = ',data[i].toth:0:2);
end;


labela,b;
var t:char;
j:byte;
begin
clrscr;
selamat;
i:=1;
a: begin
clrscr;
daftar;
hasil;
gotoxy(3,9);write('Inginmelakukantransaksikembali         (y/n)        :
');readln(t);
if (t='y') or (t='Y') then
begin
i:=i+1;
goto a;
end
else


                                                                      14
if (t='n') or (t='N') then
goto   b;
end;
b: begin
clrscr;
gotoxy(26,9);writeln('TERIMAKASIH KEPERCAYAAN ANDA MENGGUNAKAN JASA
KAMI UNTUK PERJALANAN ANDA');
gotoxy(32,11);writeln('ANDA TIDAK PUAS DENGAN PELAYANAN KAMI?');
gotoxy(37,13);writeln('SILAHKAN HUBUNGI (0271) 666999');
readln;
end;
end.


HasilOutput :




                                                                   15

More Related Content

PPTX
1211510555 irfan adi rifangga tugas5_ku
PDF
Modul 2 pbo
PDF
Modul pemrograman pascal toki smansasoo
PDF
Chendra (pemrograman)
PPTX
Debbiemistikaweni 1412510982 tugas5
PDF
Jeni Intro1 Bab07 Java Array
PDF
Alwin pascal-04
PDF
Modul Pemrograman Berorientasi Objek
1211510555 irfan adi rifangga tugas5_ku
Modul 2 pbo
Modul pemrograman pascal toki smansasoo
Chendra (pemrograman)
Debbiemistikaweni 1412510982 tugas5
Jeni Intro1 Bab07 Java Array
Alwin pascal-04
Modul Pemrograman Berorientasi Objek

Viewers also liked (15)

DOCX
Makalah agama
DOC
Jilbab wanita muslima1
DOCX
contoh Program queue
PPT
Struktur data 01 (pointer dan linked list
DOCX
Program besar "antrian tiket nonton"
DOC
Linked list
PDF
Laporan Praktikum Struktur Data Modul 3
PDF
Queue antrian
PDF
Kumpulan contoh-program-pascal-121209073936-phpapp01
DOCX
MAKALAH STACK (TUMPUKAN )
PDF
Learn BEM: CSS Naming Convention
PPTX
How to Build a Dynamic Social Media Plan
PDF
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
PDF
SEO: Getting Personal
PDF
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Makalah agama
Jilbab wanita muslima1
contoh Program queue
Struktur data 01 (pointer dan linked list
Program besar "antrian tiket nonton"
Linked list
Laporan Praktikum Struktur Data Modul 3
Queue antrian
Kumpulan contoh-program-pascal-121209073936-phpapp01
MAKALAH STACK (TUMPUKAN )
Learn BEM: CSS Naming Convention
How to Build a Dynamic Social Media Plan
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
SEO: Getting Personal
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Ad

Similar to program pascal kereta (20)

PDF
Pertemuan 2
DOCX
Makalah Alprog
PDF
Java Fundamental ( JSE ) simple tutorial
PPTX
Materi 2 - Dasar-dasar & Aturan PBO.pptx
PPTX
Materi 2 - Dasar-dasar & Aturan PBO.pptx
PPT
Dasar dasar algoritma - 2
DOC
Praktikum pemrograman modul i
PPT
Pascal01
DOCX
Laporan hasil praktikum modul i pengenalan pascal
DOCX
Resume praktikum
DOCX
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docx
PDF
Algoritma dan Struktur Data
DOCX
Dasar pemrograman turbo pascal
PDF
Materi dasar-pascal
PDF
Materi dasar-pascal
DOCX
Dasar dasar turbo pascal
PDF
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
PPTX
Kelompok 4 [Apasih] - Week2 Learning Progress Review
Pertemuan 2
Makalah Alprog
Java Fundamental ( JSE ) simple tutorial
Materi 2 - Dasar-dasar & Aturan PBO.pptx
Materi 2 - Dasar-dasar & Aturan PBO.pptx
Dasar dasar algoritma - 2
Praktikum pemrograman modul i
Pascal01
Laporan hasil praktikum modul i pengenalan pascal
Resume praktikum
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docx
Algoritma dan Struktur Data
Dasar pemrograman turbo pascal
Materi dasar-pascal
Materi dasar-pascal
Dasar dasar turbo pascal
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
Kelompok 4 [Apasih] - Week2 Learning Progress Review
Ad

Recently uploaded (20)

PPTX
Bahan Tayang OJT Pembelajaran Mendalam KS
PDF
Materi Seminar AITalks: AI dan Konseling GPT
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
PPTX
Rancangan Kegiatan Kokurikuler SMP N 1 Karanggede
PPTX
PENGIMBASAN PEMBELAJARAN MENDALAM (DEEP LEARNING)
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Rupa Kelas XII Terbaru 2025
PDF
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 10 SMA Terbaru 2025
PPTX
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
PPTX
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
DOCX
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
PDF
Materi Seminar AITalks AI dan Suku Digital
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Musik Kelas XII Terbaru 2025
PDF
Pengenalan Undang-undang pengakap laut.pdf
PPTX
Modul 2. Berpikir Komputasional sebagai Dasar Koding untuk Kecerdasan Artifis...
PPTX
Slide PPT Metode Ilmiah Kelas 7 SMP.pptx
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
PDF
PPT Resources Seminar AITalks: AI dan Konseling GPT
DOCX
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
PPTX
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
Bahan Tayang OJT Pembelajaran Mendalam KS
Materi Seminar AITalks: AI dan Konseling GPT
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
Rancangan Kegiatan Kokurikuler SMP N 1 Karanggede
PENGIMBASAN PEMBELAJARAN MENDALAM (DEEP LEARNING)
Modul Ajar Pembelajaran Mendalam Senbud Seni Rupa Kelas XII Terbaru 2025
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
Modul Ajar Deep Learning PAI & BP Kelas 10 SMA Terbaru 2025
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
Materi Seminar AITalks AI dan Suku Digital
Modul Ajar Pembelajaran Mendalam Senbud Seni Musik Kelas XII Terbaru 2025
Pengenalan Undang-undang pengakap laut.pdf
Modul 2. Berpikir Komputasional sebagai Dasar Koding untuk Kecerdasan Artifis...
Slide PPT Metode Ilmiah Kelas 7 SMP.pptx
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
PPT Resources Seminar AITalks: AI dan Konseling GPT
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN

program pascal kereta

  • 1. DAFTAR PUSTAKA DAFTAR PUSTAKA ................................................................................................................................... 1 BAB I ........................................................................................................................................................ 2 A. DASAR TEORI ............................................................................................................................... 2 B. TUJUAN ....................................................................................................................................... 6 BAB II ....................................................................................................................................................... 7 PEMBAHASAN ..................................................................................................................................... 7 BAB III .................................................................................................................................................... 10 A. KESIMPULAN ............................................................................................................................. 10 B. HASIL ( PRINT SCREEN) .............................................................................................................. 10 1
  • 2. BAB I A. DASAR TEORI Saat program kita buat sudah menjadi besar kita akan mengalami kesulitan dalam mengatur kode program, jika semua kode tersebut disatukan. Untuk mengatasi permasalahan tersebut, kita bisa menggunakan subprogram utnuk membuat program kita terbagi menjadi beberapa bagian yang masing-masing lebih kecil dan lebih mudah dikelola. Pemecahan program menjadi subprogram yang lebih kecil juga akan mempermudah kita jika ingin membuat program yang serupa, kita hanya perlu menyalin atau memakai subprogram yang sudah ada di dalam program kita yang baru. Dalam setiap bahasa pemrograman prosedural (contohnya Pascal) umumnya dikenal Procedure (Prosedur) dan Function (Fungsi), dua buah bentuk subprogram yang umum. Fungsi adalah subprogram yang memetakan suatu nilai dari suatu domain ke domain lain, sedangkan prosedur adalah suatu subprogram yang melakukan aksi tertentu. a. Prosedur Prosedur memungkinkan kita membagi program dengan mengelompokkan aksi menjadi bagianbagianyang jelas terpisah, prosedur juga memungkinkan kita memisahkan bagian program yang sering diulang sehingga tidak perlu ditulis ulang di setiap waktu. Prosedur banyak digunakan pada program terstruktur karena: Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk-bentuk prosedur. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan. b. Fungsi Sama seperti definisi dalam matematika, fungsi dalam pemrograman juga berarti pemetaan suatu nilai dari suatu domain ke domain yang lain. Pascal sudah menyediakan aneka fungsi standar, seperti fungsi trigonometri, fungsi kuadrat, dan lain-lain. 2
  • 3. Dalam implementasinya fungsi hampir sama persis dengan prosedur (boleh memiliki variabel, parameter, dan lain-lain) dengan satu perbedaan yaitu fungsi dapat dan harus mengembalikan nilai. Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri. Dalam dunia pemrograman, rekursi diimplementasikan dalam sebuah fungsi yang memanggil dirinya sendiri.Contoh fungsi rekursif misalnya adalah fungsi pangkat, faktorial, dan barisan fibonacci. Rekursif mempunyai kelebihan pada kode program yang lebih ringkas dan mudah dipahami. Sedangkan kesulitannya yaitu membutuhkan alokasi memori yang besar dan tidak cocok ketika kinerja tinggi diperlukan, karena terjadi overhead pemanggilan fungsi dalam jumlah yang relatif besar. Kenapa membuat program Rekursif? Persoalan yang ingin diselesaikan memangmengandung definisi “rekursif”. Program yang dibuat mengolah data bertyperekursif. Karena programmernya ingin menulis solusirekursif, persoalan yang tidak rekursif tidak perludiselesaikan secara rekursif, tapi bisa diselesaikansecara rekursif. Untuk mencari solusi dari program rekursif adalah solusi rekursif yang berangkat dari definisirekursif :Baca baik-baik persoalan, dan buatdefinisi rekursif sesuai definisi persoalan, solusi rekursif karena persoalan diwakilioleh struktur data rekursif, buat prosedur/fungsi rekursif (anda harusmembuat prosedur/fungsi denganparameter). Lalu apa persoalan dari program rekursif? Yaitu program harus dijamin berhenti.Sulit dibayangkan eksekusinya tanpa terikatdefinisinya. Dalam pemrogramanfungsional, tidak masalah sebab konstruksibukan dari eksekusi melainkan dari definisi. Performansi, keterbatasan implementasimesin pengeksekusi. Dalam paradigmafungsional, hal ini tidak menjadi masalah. Dengan melihat sifat sub program rekursif di atas maka sub program rekursif harus memiliki : kondisi yang menyebabkan pemanggilan dirinya berhenti (disebut kondisi khusus atau special condition) pemanggilan diri sub program (yaitu bila kondisi khusus tidak dipenuhi) Secara umum bentuk dari sub program rekursif memiliki statemen kondisional:ifkondisi khusus tak dipenuhithen panggil diri-sendiri dengan parameter yang sesuai else lakukan instruksi yang akan dieksekusi bila kondisi khusus dipenuhi. 3
  • 4. Sub program rekursif umumnya dipakai untuk permasalahan yang memiliki langkah penyelesaian yang terpola atau langkah-langkah yang teratur. Bila kita memiliki suatu permasalahan dan kita mengetahui algoritma penyelesaiannya, kadang-kadang sub program rekursif menjadi pilihan kita bila memang memungkinkan untuk dipergunakan. Secara algoritmis (dari segi algoritma, yaitu bila kita mempertimbangkan penggunaan memori, waktu eksekusi sub program) sub program rekursif sering bersifat tidak efisien. Dengan demikian sub program rekursif umumnya memiliki efisiensi dalam penulisan perintah, tetapi kadang tidak efisien secara algoritmis. Meskipun demikian banyak pula permasalahan- permasalahan yang lebih sesuai diselesaikan dengan cara rekursif (misalnya dalam pencarian / searching, yang akan dibahas pada pertemuan-pertemuan yang akan datang) Salah satutipe data terstruktur yang dipelajaridalampemrogamanadalah array ataudenganistilahlainnyaadalahlarik.Terminologidarilarikitusendiri, yaitu: Larikadalahderetanrinci data yang mempunyaitipe data sejenis. Untaikarakter (string) merupakancontoh array. Setiaprinci data disebutdengankomponenatauelemen array. Setiaplarik (array) bias dioperasikanmenggunakanpemilihelemen array yang disebut index atausubskrip. Dalam program, index atausubskriptersebutdiletakkandalamtandakurungkotak [ ], setelahnama array yang akandioperasikan. Untukmendeklarasikan variable array ditentukandengan: Varnama : array [index] of tipe; Dengan Var, array, of : kata kunci yang harusada. Nama : nama array yang akan di deklarasikan. Index : batasan index yang akanadapada array yang akan di deklarasikan. Tipe : tipe array. a. Array Satu Dimensi Pendefinisian array secara umum adalah sebagai berikut : jika kita ingin membuat beberapa array dengan tipe/jenis yang sama, kita lebih baik jika mendeklarasikan dengan type selanjutnya dengan deklarasi var. Type 4
  • 5. nama_array=array[bawah..atas] of tipe_data; var variabel_array:nama_array; atau dengan menggunakan statement var: var variabel_array:array[bawah..atas] of tipe_data; Penjelasan: bawah dan atas menyatakan batas untuk array, tipe_data adalah merupakan tipe variabel yang dipunyai array 9mis. Integer, char, real, dsb). b. Array Multidimensi Dalam array multidimensi terdiri atas baris (row) dan kolom (column). Index pertama adalah baris dan yang kedua adalah kolom. Type nama_array=array[bawah..atas, bawah..atas] of tipe_data; Var variabel_array:nama_array; Atau dengan menggunakan statement var: Var variabel_array:array[bawah..atas, bawah..atas] of tipe_data; Record merupakantipe data terstruktur, yang terdiridari item data danmasing- masingdapatmempunyaitipe data yang berbeda-beda. Item data itudinamakanFIELD. Deklarasitipe data record diawalidengan keyword RECORD yang diikutiolehsuatudaftar field dandiakhiridengan keyword END. Contoh: TYPE Rec_Langganan = RECORD KODE : STRING[10]; NAMA : STRING[30]; ALAMAT : STRING[50]; PIUTANG : REAL; END; VAR PELANGGAN : Rec_Langganan; Ataumendeklarasikanlangsung di bagiandeklarasivariabel VAR PELANGGAN : RECORD KODE : STRING[10]; 5
  • 6. NAMA : STRING[10]; ALAMAT : STRING[10]; PIUTANG : REAL; END; Tipe data recordnyaadalah “Rec_Langganan” dan variable yang menggunakantipetersebutadalah “PELANGGAN”, jikainginmemberikannilaikesalahsatu field, contohnya field “NAMA” makacarapenulisannyaadalah: PELANGGAN.NAMA := „Bla-Bla bin bla‟; Berbedadengan array dalamsuatu record masing-masing data bisaberlainantipedatanya.Tipe data elemen record dapatberupatipe data apasajatermasuk array. B. TUJUAN 1. Laporanini di buatuntukmemenuhiTugasBesarPemrogramanDasar. 2. Program ini di buatuntukpenjualantiketkeretaapi. 3. Program ini di buatsupayamahasiswalebihpahamtentangpenggunaan array, perulangan, kondisional, procedure atau function. 6
  • 7. BAB II PEMBAHASAN Program iniadalah program yang di jalankanuntukpenjualantiketkeretaapi. Didalam program initerdapat 4 point pembahasanyaituperulangan, kondisional, procedure, dan array. Perulangandengan statement for digunakanuntukmengulangstatemenatausuatublok statement berulang kali. Perulangandengan statement for dapatberupaperulanganpositifdanperulangannegaif.Dalam program iniperulangannya : for i:=15 to 78 do begin gotoxy(i,22);write(chr(177)); delay(200); end; textcolor(15); end; Script inijika di jalankanakanmenghasilkangaris yang panjangdanwarnanyatelahditentukandanpanjangdari cursor x ke-15 sampaikursor x ke-78. Kondisiadalahsuatu proses pemilihanaksidiantarabeberapa alternative yangdiberikan.Dalam program initerdapatkondisiyaitumenggunakan if then else : if a=1 then data[i].tujuan:='Bandung' else if a=2 then data[i].tujuan:='Surabaya' else if a=3 then data[i].tujuan:='Jakarta'; Script inijika di run akanmenghasilkanpilihan yang akan di tentukanpemakai program jikamemilihangka 1 makaakanterlihat output „Bandung‟, jika 2 akankeluar output „Surabaya‟, danjika 3 makaakankeluar output „Jakarta‟. 7
  • 8. if a=1 then begin data[i].harga:=200000; data[i].kelas:='Bisnis'; end else if a=2 then begin data[i].harga:=330000; data[i].kelas:='Bisnis'; end else if a=3 then begin data[i].harga:=300000; data[i].kelas:='Bisnis'; end; end; Script kondisionaliniakanmencetak data dariinputanpengguna program inisesuaidenganpilihan yang telah di tentukanpengguna. Procedure di gunakanuntukmembagi program dengan mengelompokkan aksi menjadi bagianbagianyang jelas terpisah, prosedur juga memungkinkan kita memisahkan bagian program yang sering diulang sehingga tidak perlu ditulis ulang di setiap waktu. Procedure yang di gunakanuntuk program iniadalah : procedurejadwal(var d:byte); begin if d=1 then begin gotoxy(3,15);writeln('Bandung = 07.00 , 12.00 , 20.00');end else if d=2 then begin gotoxy(3,15);writeln('Surabaya = 08.00 , 13.00 , 21.00');end else if d=3 then begin gotoxy(3,15);writeln('Jakarta = 06.00 , 11.00 , 19.00');end; end; Procedure inijika di jalankanakanmemberikan output „jadwal‟ kepadapenggunayaitumemberikanpemilihan data yang harus di inputkanolehpengguna program. Adapun procedure yang lainnyaseperti: 8
  • 9. procedurehasil; begin clrscr; gotoxy(3,3);writeln('Nama = ',data[i].nama); gotoxy(3,4);writeln('Tujuan = ',data[i].tujuan); gotoxy(3,5);Writeln('Kebrangkatan = ',data[i].brangkat); gotoxy(3,6);writeln('Kelas = ',data[i].kelas,' ',data[i].harga:0:2); gotoxy(3,7);writeln('Jumlahtiket = ',data[i].tiket); gotoxy(3,8);writeln('Total = ',data[i].toth:0:2); end; Procedure hasilinijika di jalankanakanmencetakdarisemuapemilihan yang telah di tentukanolehpengguna, darimulai input nama, tujuan, keberangkatandanseterusnyaakanterlihatsemuapada procedure ini. Tipe data array digunakanuntukmenampungsederetan data dengannilai yang sama.Pada program ini di gunakantipe data array 1 dimensi. Script programnyadalah : typepesan = record nama,tujuan,kelas,brangkat:string[50]; harga,toth:real; tiket:byte; end; vardata:array[1..100] of pesan; i:byte; Array di tuliskanpada variable.Untukpembacaandatanyadapat di tulisseperti script berikut : if a=1 then begin data[i].harga:=310000; data[i].kelas:='Ekonomi'; end 9
  • 10. BAB III A. KESIMPULAN Pascal dapat di gunakanuntukmembuat program semuamacamaspek, semuafungsidari type, kndisinyajugadapatdisesuaikandandapat di pahami.Pembuatan program akanlebihmudahjikapembuatprogram mengetahuidasar-dasardari turbo pascal. B. HASIL ( PRINT SCREEN) usescrt; typepesan = record nama,tujuan,kelas,brangkat:string[50]; harga,toth:real; tiket:byte; end; vardata:array[1..100] of pesan; i:byte; procedureselamat; vari,j:byte; begin clrscr; gotoxy(35,9);textcolor(11);writeln('S'); delay(400); gotoxy(35,9);writeln('SE'); delay(400); gotoxy(35,9);writeln('SEL'); delay(400); gotoxy(35,9);writeln('SELA'); delay(400); gotoxy(35,9);writeln('SELAM'); delay(400); gotoxy(35,9);writeln('SELAMA'); delay(400); gotoxy(35,9);writeln('SELAMAT'); delay(400); gotoxy(35,9);writeln('SELAMAT '); delay(400); gotoxy(35,9);writeln('SELAMAT D'); delay(400); gotoxy(35,9);writeln('SELAMAT DA'); delay(400); gotoxy(35,9);writeln('SELAMAT DAT'); delay(400); gotoxy(35,9);writeln('SELAMAT DATA'); 10
  • 11. delay(400); gotoxy(35,9);writeln('SELAMAT DATAN'); delay(400); gotoxy(35,9);writeln('SELAMAT DATANG'); delay(400); gotoxy(41,11);writeln('D'); delay(400); gotoxy(41,11);writeln('DI'); delay(400); gotoxy(34,13);writeln('P'); delay(400); gotoxy(34,13);writeln('PT'); delay(400); gotoxy(34,13);writeln('PT.'); delay(400); gotoxy(34,13);writeln('PT.D'); delay(400); gotoxy(34,13);writeln('PT.DA'); delay(400); gotoxy(34,13);writeln('PT.DAS'); delay(400); gotoxy(34,13);writeln('PT.DASS'); delay(400); gotoxy(34,13);writeln('PT.DASSA'); delay(400); gotoxy(34,13);writeln('PT.DASSA '); delay(400); gotoxy(34,13);writeln('PT.DASSA E'); delay(400); gotoxy(34,13);writeln('PT.DASSA EX'); delay(400); gotoxy(34,13);writeln('PT.DASSA EXP'); delay(400); gotoxy(34,13);writeln('PT.DASSA EXPR'); delay(400); gotoxy(34,13);writeln('PT.DASSA EXPRE'); delay(400); gotoxy(34,13);writeln('PT.DASSA EXPRES'); delay(400); gotoxy(34,13);writeln('PT.DASSA EXPRESS'); delay(400); gotoxy(3,22);WRITE('LOADING : '); delay(400); for i:=15 to 78 do begin gotoxy(i,22);write(chr(177)); 11
  • 12. delay(200); end; textcolor(15); end; procedurejadwal(var d:byte); begin if d=1 then begin gotoxy(3,15);writeln('Bandung = 07.00 , 12.00 , 20.00');end else if d=2 then begin gotoxy(3,15);writeln('Surabaya = 08.00 , 13.00 , 21.00');end else if d=3 then begin gotoxy(3,15);writeln('Jakarta = 06.00 , 11.00 , 19.00');end; end; proceduredaftar; var a:byte; b,c:char; begin clrscr; gotoxy(3,3);write('NamaAnda : ');readln(data[i].nama); writeln; gotoxy(11,4);writeln('Tujuan'); gotoxy(3,5);writeln('pilih 1 untuk Bandung'); gotoxy(3,6);writeln('pilih 2 untuk Surabaya'); gotoxy(3,7);writeln('pilih 3 untuk Jakarta'); gotoxy(3,8);Write('Pilihan : ');readln(a); if a=1 then data[i].tujuan:='Bandung' else if a=2 then data[i].tujuan:='Surabaya' else if a=3 then data[i].tujuan:='Jakarta'; writeln; writeln; gotoxy(11,9);writeln('Kelas'); gotoxy(3,10);Writeln('pilih A untukBisnis'); gotoxy(3,11);writeln('pilih B untuk VIP'); gotoxy(3,12);writeln('pilih C untukEkonomi'); gotoxy(3,13);write('pilihan : ');readln(b); case b of 'a','A':begin if a=1 then begin data[i].harga:=200000; data[i].kelas:='Bisnis'; 12
  • 13. end else if a=2 then begin data[i].harga:=330000; data[i].kelas:='Bisnis'; end else if a=3 then begin data[i].harga:=300000; data[i].kelas:='Bisnis'; end; end; 'b','B':begin if a=1 then begin data[i].harga:=300000; data[i].kelas:='VIP'; end else if a=2 then begin data[i].harga:=320000; data[i].kelas:='VIP'; end else if a=3 then begin data[i].harga:=400000; data[i].kelas:='VIP'; end; end; 'c','C':begin if a=1 then begin data[i].harga:=310000; data[i].kelas:='Ekonomi'; end else if a=2 then begin data[i].harga:=320000; data[i].kelas:='Ekonomi'; end else if a=3 then begin data[i].harga:=200000; data[i].kelas:='Ekonomi'; end; end; end; 13
  • 14. gotoxy(3,14);Write('Apakahandainginmelihatjadwal? (y/n): ');readln(c); if (c='y') or (c='Y') then begin jadwal(a); gotoxy(3,16);write('jadwalkeberangkatan = ');readln(data[i].brangkat); end else gotoxy(3,17);write('Berapatiket yang andabeli? ');readln(data[i].tiket); data[i].toth:=(data[i].tiket)*(data[i].harga); gotoxy(20,18);writeln('Terimakasih'); end; procedurehasil; begin clrscr; gotoxy(3,3);writeln('Nama = ',data[i].nama); gotoxy(3,4);writeln('Tujuan = ',data[i].tujuan); gotoxy(3,5);Writeln('Kebrangkatan = ',data[i].brangkat); gotoxy(3,6);writeln('Kelas = ',data[i].kelas,' ',data[i].harga:0:2); gotoxy(3,7);writeln('Jumlahtiket = ',data[i].tiket); gotoxy(3,8);writeln('Total = ',data[i].toth:0:2); end; labela,b; var t:char; j:byte; begin clrscr; selamat; i:=1; a: begin clrscr; daftar; hasil; gotoxy(3,9);write('Inginmelakukantransaksikembali (y/n) : ');readln(t); if (t='y') or (t='Y') then begin i:=i+1; goto a; end else 14
  • 15. if (t='n') or (t='N') then goto b; end; b: begin clrscr; gotoxy(26,9);writeln('TERIMAKASIH KEPERCAYAAN ANDA MENGGUNAKAN JASA KAMI UNTUK PERJALANAN ANDA'); gotoxy(32,11);writeln('ANDA TIDAK PUAS DENGAN PELAYANAN KAMI?'); gotoxy(37,13);writeln('SILAHKAN HUBUNGI (0271) 666999'); readln; end; end. HasilOutput : 15