TUGAS APLIKASI (UJIAN AKHIR SEMESTER)
“PERSEGI ANGKA-HURUF VERTIKAL”
Mata Kuliah: Algoritma Pemrograman Kelompok: C4 Anggota Kelompok: Abdul Khafit
(110411100097)
Novi Indrawati
(110411100098)
Ria Lyzara
(110411100099)
Kurniawan
(110411100100)
Dosen Pengampu: Noor Ifada
TEKNIK INFORMATIKA JANUARI 2012 UNIVERSITAS TRUNOJOYO MADURA Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 1
Daftar Isi Halaman judul ........................................................................................................... 1 Daftar isi .................................................................................................................... 2 Bab I Pendahuluan ..................................................................................................... 3 Bab II Algoritma ........................................................................................................ 4 2.1 Pseudocode .............................................................................................. 4 2.2 Flowchart ................................................................................................. 7 Bab III Evaluasi ......................................................................................................... 12 3.1 Kelebihan ................................................................................................. 12 3.2 Kekurangan .............................................................................................. 12 Lampiran .................................................................................................................... 13
Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 2
BAB I PENDAHULUAN Laporan ini adalah bentuk tanggung jawab kami atas tugas aplikasi sebagai pengganti Ujian Akhir Semester (UAS). Program aplikasi ini berjudul “Persegi AngkaHuruf Vertikal”, dimana hasil dari program ini akan menampilkan sebuah urutan angka dan huruf yang tersusun secara vertikal menyerupai 2 persegi dengan parameter inputan sesuai keinginan user. Misal user memasukkan angka 3, maka program aplikasi ini akan menampilkan tampilan seperti berikut: 1 2 3 2
2
3 2 1 a b c b
b
c b a
Dan misal user memasukkan angka 5, maka akan muncul tampilan seperti berikut: 1 2 3 4 5 2
4
3
3
4
2
5 4 3 2 1 a b c d e b
d
c
c
d
b
e d c b a
Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 3
BAB II ALGORITMA 2.1 PSEUDOCODE Algoritma persegi_angka_huruf_vertikal DEKLARASI akhir, n, panjang, lebar, spasi : integer procedure ubah(input w : integer) DESKRIPSI: case w of 1 : write ('a ') 2 : write ('b ') 3 : write ('c ') 4 : write ('d ') 5 : write ('e ') 6 : write ('f ') 7 : write ('g ') 8 : write ('h ') 9 : write ('i ') 10 : write ('j ') 11 : write ('k ') 12 : write ('l ') 13 : write ('m ') 14 : write ('n ') 15 : write ('o ') 16 : write ('p ') 17 : write ('q ') 18 : write ('r ') 19 : write ('s ') 20 : write ('t ') 21 : write ('u ') 22 : write ('v ') 23 : write ('w ') 24 : write ('x ') 25 : write ('y ') 26 : write ('z ') endcase procedure proses (input n : integer) DESKRIPSI: akhir n - 1 if n = 1 then writeln ('1') Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 4
writeln ('a') else if n > 26 then writeln ('maaf maksimal 26') else lebar 1 for panjang 1 to n do write (panjang,' ') endfor writeln lebar lebar + 1 while lebar < n do write (lebar,' ') for spasi n - 2 downto 1 do begin write (' ') endfor write (akhir,' ') akhir akhir - 1 lebar lebar + 1 writeln endwhile for lebar n downto 1 do write (lebar,' ') endfor writeln lebar 1 akhir n - 1 for panjang 1 to n do ubah (panjang) endfor writeln lebar lebar + 1 while lebar < n do ubah (lebar) for spasi n - 2 downto 1 do write (' ') endfor ubah (akhir) akhir akhir - 1 lebar lebar + 1 writeln endwhile
Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 5
for lebar n downto 1 do ubah (lebar) endfor endif DESKRIPSI: writeln (' -----program persegi angka-huruf vertikal----') writeln (' (untuk hasil yang maksimal, masukkan sisi: 2 sampai 9)') writeln write ('masukkan sisi (1-26): ') readln (n) writeln proses (n) writeln writeln writeln (' -----terima kasih-----')
Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 6
2.2 Flowchart a. Flowchart Program Utama START
input (n)
proses (n)
END
Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 7
b. Flowchart Prosedur Proses START
akhir n-1
if n=1
if n > 26
writeln (‘1’) writeln (‘a’)
lebar 1 writeln (‘maksimal 26’) for panjang 1 to n F A
A
write (panjang, ’ ‘)
writeln
lebar lebar + 1
while lebar < n
C
D write (lebar, ‘ ‘)
B
Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 8
B
for spasi n-2 downto1 write (akhir, ‘ ‘) writeln write (‘ ‘)
akhir akhir – 1 lebar lebar + 1
C D
for lebar n downto 1 writeln
write (lebar, ‘ ‘)
lebar lebar + 1 akhir akhir - 1
for panjang 1 to n E ubah (panjang)
Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 9
E
writeln
lebar lebar + 1
while lebar < n
F
for lebar n downto 1
ubah (lebar)
END for spasi n-2 downto1
ubah (lebar)
ubah (akhir)
write (‘ ‘)
akhir akhir – 1 lebar lebar + 1
writeln
Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 10
c. Flowchart Prosedur Ubah START
read (w)
if w=1
write (‘a’)
if w=2
write (‘b’)
if w=3
Dan seterusnya sampai
write (‘c’)
if w = 26
write (‘z’)
END
Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 11
BAB III EVALUASI 3.1 KELEBIHAN Menurut analisa dari kelompok kami, program ini memiliki kelebihan diantaranya: 1. Program ini telah sesuai dengan tugas yang dosen berikan. 2. Program ini memiliki tingkat pemahaman yang mudah untuk dipahami oleh user (user friendly) 3. Pengerjaan program ini menggunakan metode modular, sehingga lebih terstruktur sintax-sintax programnya dan tentunya mudah dipahami. 3.2 KEKURANGAN Pada program yang telah kami buat ini,masih terdapat beberapa kekurangan, yaitu: 1. Bila user menginputkan n ≥ 10 makabentuk persegi pertama (persegi angka) tampak kurang rapi. Ini dikarenakan nilai 10 dan diatasnya mengandung lebih dari satu karakter. 2. Kami membatasi user untuk memasukkan sisi tidak boleh lebih dari 26, karena program ini terdiri dari 2 persegi, yaitu persegi angka dan huruf sedangkan huruf (dari a sampai z) berjumlah 26.
Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 12
LAMPIRAN program persegi_angka_huruf_vertikal; uses wincrt; var akhir, n, panjang, lebar, spasi : integer; procedure ubah(w : integer); begin case w of 1 : write ('a '); 2 : write ('b '); 3 : write ('c '); 4 : write ('d '); 5 : write ('e '); 6 : write ('f '); 7 : write ('g '); 8 : write ('h '); 9 : write ('i '); 10 : write ('j '); 11 : write ('k '); 12 : write ('l '); 13 : write ('m '); 14 : write ('n '); 15 : write ('o '); 16 : write ('p '); 17 : write ('q '); 18 : write ('r '); 19 : write ('s '); 20 : write ('t '); 21 : write ('u '); 22 : write ('v '); 23 : write ('w '); 24 : write ('x '); 25 : write ('y '); 26 : write ('z '); end; end; procedure proses (n : integer); begin akhir := n - 1; if n = 1 then begin writeln ('1'); writeln ('a'); end else if n > 26 then writeln ('maaf maksimal 26') Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 13
else begin lebar := 1; for panjang := 1 to n do begin write (panjang,' '); end; writeln; lebar := lebar + 1; while lebar < n do begin write (lebar,' '); for spasi := n - 2 downto 1 do begin write (' '); end; write (akhir,' '); akhir := akhir - 1; lebar := lebar + 1; writeln; end; for lebar := n downto 1 do begin write (lebar,' '); end; writeln; lebar := 1; akhir := n - 1; for panjang := 1 to n do begin ubah (panjang); end; writeln; lebar := lebar + 1; while lebar < n do begin ubah (lebar); for spasi := n - 2 downto 1 do begin write (' '); end; ubah (akhir); akhir := akhir - 1; lebar := lebar + 1;
Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 14
writeln; end; for lebar := n downto 1 do begin ubah (lebar); end; end; end; begin writeln (' -----program persegi angka-huruf vertikal----'); writeln (' (untuk hasil yang maksimal, masukkan sisi: 2 sampai 9)'); writeln; write ('masukkan sisi (1-26): '); readln (n); writeln; proses(n); writeln; writeln; writeln (' -----terima kasih-----'); end.
Kelompok C4 Laporan Tugas UAS Algoritma Pemrograman - 15