SlideShare ist ein Scribd-Unternehmen logo
1 von 15
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

Weitere ähnliche Inhalte

Andere mochten auch

Jilbab wanita muslima1
Jilbab wanita muslima1Jilbab wanita muslima1
Jilbab wanita muslima1
zalviani
 
Struktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listStruktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked list
Sunarya Marwah
 
Program besar "antrian tiket nonton"
Program besar "antrian tiket nonton"Program besar "antrian tiket nonton"
Program besar "antrian tiket nonton"
Putri PN
 
Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3
azmi007
 
Kumpulan contoh-program-pascal-121209073936-phpapp01
Kumpulan contoh-program-pascal-121209073936-phpapp01Kumpulan contoh-program-pascal-121209073936-phpapp01
Kumpulan contoh-program-pascal-121209073936-phpapp01
Defina Iskandar
 

Andere mochten auch (15)

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

Ähnlich wie program pascal kereta

Materi 2 - Dasar-dasar & Aturan PBO.pptx
Materi 2 - Dasar-dasar & Aturan PBO.pptxMateri 2 - Dasar-dasar & Aturan PBO.pptx
Materi 2 - Dasar-dasar & Aturan PBO.pptx
GudangKu2
 
Praktikum pemrograman modul i
Praktikum pemrograman modul iPraktikum pemrograman modul i
Praktikum pemrograman modul i
yohaneswahyuusd13
 
Resume praktikum
Resume praktikumResume praktikum
Resume praktikum
NuRul Emi
 
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docx
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docxMAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docx
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docx
Dikicandra6
 
Dasar pemrograman turbo pascal
Dasar pemrograman turbo pascalDasar pemrograman turbo pascal
Dasar pemrograman turbo pascal
Arum Mbedioen
 
Materi dasar-pascal
Materi dasar-pascalMateri dasar-pascal
Materi dasar-pascal
Faisal Amir
 
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
Jurnal IT
 
Pengenalan pascal
Pengenalan pascalPengenalan pascal
Pengenalan pascal
fhnx
 

Ähnlich wie program pascal kereta (20)

Pertemuan 2
Pertemuan 2Pertemuan 2
Pertemuan 2
 
Makalah Alprog
Makalah AlprogMakalah Alprog
Makalah Alprog
 
Materi 2 - Dasar-dasar & Aturan PBO.pptx
Materi 2 - Dasar-dasar & Aturan PBO.pptxMateri 2 - Dasar-dasar & Aturan PBO.pptx
Materi 2 - Dasar-dasar & Aturan PBO.pptx
 
Materi 2 - Dasar-dasar & Aturan PBO.pptx
Materi 2 - Dasar-dasar & Aturan PBO.pptxMateri 2 - Dasar-dasar & Aturan PBO.pptx
Materi 2 - Dasar-dasar & Aturan PBO.pptx
 
Dasar dasar algoritma - 2
Dasar dasar algoritma - 2Dasar dasar algoritma - 2
Dasar dasar algoritma - 2
 
Praktikum pemrograman modul i
Praktikum pemrograman modul iPraktikum pemrograman modul i
Praktikum pemrograman modul i
 
Pascal01
Pascal01Pascal01
Pascal01
 
Laporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascalLaporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascal
 
Makalah
MakalahMakalah
Makalah
 
Resume praktikum
Resume praktikumResume praktikum
Resume praktikum
 
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docx
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docxMAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docx
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docx
 
Algoritma dan Struktur Data
Algoritma dan Struktur DataAlgoritma dan Struktur Data
Algoritma dan Struktur Data
 
Dasar pemrograman turbo pascal
Dasar pemrograman turbo pascalDasar pemrograman turbo pascal
Dasar pemrograman turbo pascal
 
Materi dasar-pascal
Materi dasar-pascalMateri dasar-pascal
Materi dasar-pascal
 
Materi dasar-pascal
Materi dasar-pascalMateri dasar-pascal
Materi dasar-pascal
 
Dasar dasar turbo pascal
Dasar dasar turbo pascalDasar dasar turbo pascal
Dasar dasar turbo pascal
 
Pseudopascal 2009
Pseudopascal 2009Pseudopascal 2009
Pseudopascal 2009
 
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
 
Pengenalan pascal
Pengenalan pascalPengenalan pascal
Pengenalan pascal
 
Seminggu Belajar Laravel Sample
Seminggu Belajar Laravel SampleSeminggu Belajar Laravel Sample
Seminggu Belajar Laravel Sample
 

Kürzlich hochgeladen

Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
novibernadina
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
JarzaniIsmail
 

Kürzlich hochgeladen (20)

PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - Perencanaan
 
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusia
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
 
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
 
E-modul Materi Ekosistem untuk kelas X SMA
E-modul Materi Ekosistem untuk kelas X SMAE-modul Materi Ekosistem untuk kelas X SMA
E-modul Materi Ekosistem untuk kelas X SMA
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
 

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