Dalam penulisan kali ini saya susah sekali menemukan pengkodean yang tepat dalam menemukannya. Dan ini dapat di dapat dari teman saya..
Notasi program ini dijalankan di pascal..
uses crt;
const max_elemen = u19;
type u19 = string [max_elemen];
tumpukan = record
rinci : u19;
atas : 0..max_elemen
end;
var infix : u19;
lagi : char;
function valensi (tanda_op : char) : integer;
begin
case tanda_op of
'^' : valensi := 3;
'*', '/' : valensi := 2;
'+', '-' : valensi := 1;
'(' : valensi := 0
end
end;
procedure push (var t : tumpukan; elemen : char);
begin
t.atas := t.atas +1;
t.rinci[t.atas] := elemen
end;
function pop (var t : tumpukan) : char;
begin
pop := t.rinci[t.atas];
t.atas := t.atas - 1
end;
procedure konversi_cetak (infix : z100);
var i : integer;
operator : set of char;
temp, kar : char;
t : tumpukan;
test : boolean;
begin
operator := ['^']+['*']+['/']+['+']+['-'];
for i := 1 to length (infix) do
begin
kar := infix[i];
if kar = '(' then push (t, kar)
else if kar = ')' then
begin
while t.rinci[t.atas] <> '(' do
write (pop(t) : 2);
temp := pop(t)
end
else if kar in operator then
begin
while (t.atas <> 0 ) and (valensi(kar)
<= valensi (t.rinci[t.atas])) do write (pop(t) : 2); push (t, kar) end else if kar <> ' ' then
write (kar : 2)
end;
if t.atas <> 0 then
repeat
write (pop(t):2)
until t.atas = 0
end;
begin
clrscr;
writeln ('Mengubah Notasi Infix Menjadi Postfix');
writeln ('Dengan Memanfaatkan Struktur Tumpukan');
writeln ('-------------------------------------');
writeln ;
repeat
write ('Masukkan Ungkapan Infix : ');
readln (infix); writeln;
write ('Ungkapan Postfix : ');
konversi_cetak (infix);
writeln; writeln;
write ('Akan Mencoba Lagi ? y(a) / t(idak) : ');
readln (lagi);
writeln
until not (lagi in ['Y', 'y'])
end.
Pada lain kesempatan saya akan memposting pembuatannya dalam bahasa Delphi dan C++
sumber : http://mochinolove.blogspot.com/2011/03/tugas-2-sod-notasi-infix-menjadi.html
Blogger templates
Blogroll
Archives
Powered by Blogger.
Popular Posts
-
Istilah Sistem Informasi Geografis (SIG) merupakan gabungan tiga unsur pokok, yaitu sistem, informasi, dan geografis.
-
SIG dapat mempresentasikan dunia nyata ke dalam layar monitor komputer. Oleh karena itu, SIG sama halnya dengan lembaran peta yang mem...
-
Semakin pesatnya kemajuan teknologi informasi.kita harus mempunyai sebuah rencana keamanan, harus dapat mengkombinasikan peran dari kebija...
-
Telematika berasal dari bahasa Perancis “TELEMATIQUE” yang berarti bertemunya sistem jaringan komunikasi dengan teknologi informasi. Telema...
-
1. Tujuan Umum Tujuan utama layanan middleware adalah untuk membantu memecahkan interkoneksi beberapa aplikasi dan masalah interoperabil...
-
Marinka, lahir 22 Maret 1980, adalah salah satu juri di acara MasterChef Indonesia di RCTI, salah satu saluran yang paling khas di Indone...
-
Banyak sekali ancaman yang bisa memasuki kemanan jaringan computer, di bawah ini adalah contoh – contoh dari ancaman yang bisa terjadi...
-
Karena merupakan suatu sistem, informasi geografis terdiri dari 4 subsistem pokok, yaitu subsistem masukan (data input), penyajian (dat...
-
CRM dapat menjadi tambang emas kepada perusahaan yang dapat memanfaatkan ini dengan benar , mereka dapat menjadi mahal jika peru...
-
Hal ini dapat mengganggu untuk menunggu teknologi yang ditampilkan dalam film sci - fi menjadi kenyataan . Jika kalian pernah me...
Categories
About
March 2011
Dapet tugas Struktur Organisasi 2 di kampus :D
Disuruh bikin :
1. Program dengan ketentuan sebagai berikut
a. panjang dari sebuah string
b. menggabungkan isi dari dua buah string
c. menyisipkan isi sebuah string ke dalam string lain
2. Program untuk menampilkan jurusan & angkatan mahasiswa berdasarkan NPM
Oke, program pertama, langsung aja nih ketik script di bawah ini, hehe
Untuk penjelasan, bisa langsung diliat di bagian komentar program, komentar program di dalem ini nih '{ }'.
USES CRT;
VAR NAMA1, NAMA2 : STRING;
A : INTEGER;
PILIHAN : BYTE;
{DIKASIH VARIABEL DULU, DISINI ADA TIGA MACAM TIPE DATA YG DIGUNAKAN YAITU STRING, BYTE, DAN INTEGER}
BEGIN {KALO MAU MULAI NULIS SCRIPT DI PASCAL, HARUS PAKE 'BEGIN' DULU}
CLRSCR;
WRITELN ('/////////////////PROGRAM PUNYA AKBAR/////////////////');
WRITELN ('///\\\ 1. INSERT STRING ///\\\');
WRITELN ('///\\\ 2. MENGGABUNGKAN STRING ///\\\');
WRITELN ('///\\\ 3. MENGHITUNG PANJANG STRING ///\\\');
WRITELN ('///\\\ 4. EXIT ///\\\');
WRITELN ('/////////////////////////////////////////////////////');
WRITELN ('//////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\');
WRITELN;
{TULISAN DIATAS DIMAKSUDKAN UNTUK MENAMPILKAN MENU PILIHAN}
WRITELN ('MASUKIN PILIHANNYA DONG : ');
READLN (PILIHAN);
CASE PILIHAN OF
{NAHDIMASUKIN DEH PILIHANNYA, MASING-MASING PILIHAN PUNYA PROGRAM YANG BERDIRI SENDIRI}
1:BEGIN
CLRSCR;
WRITE('STRING PERTAMA = ');
READLN (NAMA1);
WRITE ('MASUKAN STRING YANG INGIN DI SISIPKAN = ');
READLN (NAMA2);
WRITE ('DISISIPKAN DI STRING KE - ');
READLN (A);
INSERT(NAMA2,NAMA1,A); {INI PROSEDUR STANDAR BUAT MENYISIPKAN STRING 'INSERT'}
WRITELN ('HASILNYA = ' ,NAMA1);
READLN;
END;
2 : BEGIN
CLRSCR;
WRITELN ('MASUKAN KARAKTER PERTAMA = ');
READLN (NAMA1);
WRITELN ('MASUKAN KARAKTER KEDUA = ');
READLN (NAMA2);
WRITELN ('HASILNYA = ',(CONCAT(NAMA1,' ',NAMA2))); {CONCAT BUAT GABUNGIN STRING}
READLN;
END;
3 : BEGIN
CLRSCR;
WRITE ('MASUKAN STRING = ');
READLN (NAMA1);
WRITELN ('PANJANG STRING ADALAH ',LENGTH(NAMA1), ' KARAKTER'); {BUAT MENGHITUNG PANJANG STRING}
READLN;
END;
END;
READLN;
END.
Kalo udah di ketik di pascal, langsung aja di run.
Hasilnya kaya gini nih
2. Ini program yang kedua susah susah gampang deh, tapi gw tetep ga bisa.
Jadi nih langsung gw kasih scriptnya
USES CRT;
VAR NPM,JUR1,JUR2,ANG1,ANG2 : STRING;
A,B,C : INTEGER;
BEGIN
CLRSCR;
WRITE ('MASUKAN NPM ANDA :');
READLN (NPM);
JUR1:= COPY(NPM,1,1);
IF JUR1 = '1' THEN JUR2:= 'STRATA 1 - SISTEM INFORMASI' ELSE
IF JUR1 = '2' THEN JUR2:= 'DIPLOMA 3 - MANAJEMEN INFORMATIKA' ELSE
IF JUR1 = '3' THEN JUR2:= 'STRATA 1 - MANAJEMEN KOMPUTER & AKUNTANSI' ELSE
JUR2:= '-';
IF JUR2 <> '-' THEN
WRITELN('JURUSAN ANDA ADALAH ',JUR2,' DENGAN KODE JURUSAN ',JUR1,'.')
ELSE
WRITELN('MAAF, KODE JURUSAN ANDA TIDAK ADA DALAM DATABASE KAMI.');
ANG1:= COPY(NPM,4,2);
VAL(ANG1,B,C);
IF B > 81 THEN
WRITELN('ANDA TERMASUK ANGKATAN 19',B,'.')
ELSE BEGIN
IF B <>
STR(B:1,ANG2);
INSERT('0',ANG2,1);
WRITELN('ANDA TERMASUK ANGKATAN 20',ANG2,'.'); END;
WRITELN('ANDA TERMASUK ANGKATAN 20',B,'.');
END;
READLN;
END.
Ini program temen gw yang bikin, yang ini saya kurang mengerti -_______-