Revisi Konversi Infix-Prefix-Postfix

Karena ada laporan kalau file yang notasi polish itu corrupt alias tidak bisa dibuka, maka kali ini saya coba upload lagi dalam bentuk *.zip, sebelumnya jika ada yang salah tentang program ini silahkan di komentari di bagian komentar sebagai koreksi bagi saya karena saya tidak sempat untuk melakukan running test terhadap aplikasi ini oke.. ‘

Berikut linknya : Revisi Infix-Prefix-Postfix

Iklan

Program Angka terbilang

Sebenarnya Algoritma dan Aplikasi ini sudah bisa anda temui di berbagai sumber apalagi internet, disini saya hanya menjembatani saja dan sedikit sharing saja, jadi logikanya :

Angka Terbilang

  • Pertama anda harus membuat array terbilang untuk tiap angka misal 1  berarti ‘satu’
  • Kemudian lakukan kondisi jika < 100 maka terbilangnya ‘puluh ‘ dan seterusnya.

berikut sourcecodenya:
Baca lebih lanjut

Laporan UAS Alpro saya hilang…

Hari itu (senin) adalah hari pertama saya UAS di Kampus,, habis UAS seperti biasanya saya mampir dulu ke perpustakaan untuk Online dan menyelesaikan Tugas yang belum selesai. Tapi setelah saya membuka Laptop saya dan membuka isi dari Flashdisk yang di dalamnya berisi Laporan dan tugas-tugas saya yang lain, ternyata semua folder data-data perkuliahan saya berubah wujud menjadi sebuah file dengan font Alien dan tidak dapat dibaca,

Tenang aja oke

Tenang aja oke

Dan Ternyata folder saya rusak dan hancur,,, Saat itu pula saya teringat bahwa di Flashdisk itu juga terdapat Laporan UAS Matakuliah Algoritma Pemrograman yang harus saya kirimkan segera, Akhirnya dengan semangat baru saya kerjakan lagi deh Laporan dan programnya dari Awal.

Ada dua pelajaran yang dapat saya ambil dari kejadian itu yakni, jangan lupa membackup data anda ke hardisk komputer anda yang kedua. Kerja keras itu diperlukan untuk menyelesaikan sesuatu.

Dan saat saya kerjakan lagi ternyata saya bisa menyelesaikan Laporan itu lagi, karena masih teringat dengan kerjaan yang dulu,,, Sekian… koQ aQ malah curhat ya,,, hehehehe  Makasih… sampai jumpa lagi

Source Code KHS Mahasiswa dengan Pascal

source kode untuk membuat KHS Mahasiswa dengan menggunakan Record dengan Pemrograman Pascal :

program record_data_mahasiswa;
//uses wincrt;
const nMaks = 100;
Mn = 10;
type
matakuliah = record
kodemk : string[8];
namamk : string[20];
sks : integer;
nilai  : string[2];
sksxnilai : real;
end;
mahasiswa = record
NIM : string[15];
nama : string[20];
skstotal : integer;
nilaitotal: real;
ip : real;
nextsks : string[8];
mk : array[1..Mn] of matakuliah;
end;
var
TabMhs : array[1..nMaks] of mahasiswa;
I, J, M, N : integer;
nilaiN : real;
nilaiH : string[2];
tambah : char;

procedure ambilsks;
begin
if TabMhs[I].ip >= 3.00 then TabMhs[I].nextsks := '22 - 24'
else if (TabMhs[I].ip <= 2.99) and (TabMhs[I].ip >= 2.50) then TabMhs[I].nextsks := '22 - 24'
else if (TabMhs[I].ip <= 2.49) and (TabMhs[I].ip >= 2.00) then TabMhs[I].nextsks := '20 - 22'
else if (TabMhs[I].ip <= 1.99) and (TabMhs[I].ip >= 1.50) then TabMhs[I].nextsks := '18 - 20'
else if TabMhs[I].ip < 1.50 then TabMhs[I].nextsks := '16 - 18';
end;

procedure konversinilai;
begin
nilaiH := TabMhs[I].mk[J].nilai;
if (NilaiH = 'A')       or (nilaiH = 'a')  then nilaiN := 4
else if (nilaiH = 'B+') or (nilaiH = 'b+') then nilaiN := 3.5
else if (nilaiH = 'B')  or (nilaiH = 'b')  then nilaiN := 3
else if (nilaiH = 'C+') or (nilaiH = 'c+') then nilaiN := 2.5
else if (nilaiH = 'C')  or (nilaiH = 'c')  then nilaiN := 2
else if (nilaiH = 'D+') or (nilaiH = 'd+') then nilaiN := 1.5
else if (nilaiH = 'D')  or (nilaiH = 'd')  then nilaiN := 1
else nilaiN := 0;
end;
procedure tampildata;
begin
for I:= 1 to N do
begin
writeln ('                     Kartu Hasil Studi                        ');
writeln ('               Jurusan Teknik Informatika                     ');
writeln ('           Fakultas Teknik - Universitas Trunojoyo            ');
writeln ('                  Semester Gasal 2009/2010                    ');
writeln('===============================================================');
writeln('Nama Mahasiswa : ',TabMhs[I].nama);
writeln('NRP Mahasiswa : ',TabMhs[I].NIM);
writeln('---------------------------------------------------------------');
writeln(' No    Kode MK    Nama Mata Kuliah    SKS   Nilai   SKS x Nilai');
writeln('---------------------------------------------------------------');
for J := 1 to M do
begin
konversinilai;
TabMhs[I].mk[J].sksxnilai := nilaiN * TabMhs[I].mk[J].sks;
writeln(J:2,TabMhs[I].mk[J].kodemk:13,TabMhs[I].mk[J].namamk:20,TabMhs[I].mk[J].sks:5,TabMhs[I].mk[J].nilai:7,
TabMhs[I].mk[J].sksxnilai:13:1);
TabMhs[I].skstotal := TabMhs[I].skstotal + TabMhs[I].mk[J].sks;
TabMhs[I].nilaitotal := TabMhs[I].nilaitotal + TabMhs[I].mk[J].sksxnilai;
end;
writeln('---------------------------------------------------------------');
writeln('                TOTA L           ',TabMhs[I].skstotal:7,TabMhs[I].nilaitotal:20:1);
writeln('---------------------------------------------------------------');
TabMhs[I].ip := TabMhs[I].nilaitotal / TabMhs[I].skstotal;
writeln('IP Semester = ',TabMhs[I].nilaitotal:0:1,'/',TabMhs[I].skstotal,' = ',TabMhs[I].ip:0:2);
ambilsks;
writeln('SKS yang dapat diambil semester berikutnya = ',TabMhs[I].nextsks);
writeln;
end;
end;

procedure bacadata;
begin
for I := 1 to N do
begin
write('NRP Mahasiswa ke - ',I,' = ');readln(TabMhs[I].NIM);
write('Nama Mahasiswa ke - ',I,' = ');readln(TabMhs[I].nama);
write('Jumlah Mata Kuliah = ');readln(M);
writeln('--------------------------------------------------');
for J := 1 to M do
begin
write('Kode Matakuliah ke - ',J,' = ');readln(TabMhs[I].mk[J].kodemk);
write('Nama Matakuliah = ');readln(TabMhs[I].mk[J].namamk);
write('SKS Matakuliah = ');readln(TabMhs[I].mk[J].sks);
write('nilai Matakuliah = ');readln(TabMhs[I].mk[J].nilai);
writeln('--------------------------------------------------');
end;
end;
end;
begin
write('Masukkan Jumlah Data Mahasiswa = ');readln(N);
Repeat
//clrscr;
bacadata;
//clrscr;
tampildata;
write ('Anda Ingin Memasukkan Data Mahasiswa Lagi? [Y/N] : ');readln(tambah);
tambah := Upcase(tambah);
until (tambah <> 'Y');
//Donewincrt;
end.

Jika Anda menggunakan TPW (Turbo Pascal For Windows) maka tanda yang // itu anda hapus, karena saya di sini compiler pascalnya di Linux.

Tugas 4 Algoritma Pemrograman Pascal Menggunakan Record

Pada Tugas 4 dalam MK Algoritma Pemrograman Kebetulan saya dan teman-teman mendapatkan tugas membuat aplikasi Kartu KHS Mahasiswa berikut sedikit screenshot gambar aplikasi yang saya buat dengan Bahasa Pemrograman Pascal dan Compiler GPC di Linux. Untuk sourcecodenya akan saya upload setelah tanggal 20 Desember karena jika ada kode yang sama antar kelompok maka nilai akan di bagi.. jadi tunggu aja ya kodenya. Thanks….

GNU Pascal Compiler

GNU Pascal Compiler

untuk sharing dan tanya jawab bisa beri komentar disini atau lewat email : gadzata@gmail.com

NB : Untuk Mengetahui Nilai A = 4 atau B = 3.5 bisa dilihat di Kontrak Kuliah, Sedangkan untuk Jumlah SKS minimal yang diambil pada Semester berikutnya dilihat dari nilai IP dan untuk mengetahui cara menentukan jumlah SKS minimal yang diambil pada semester berikutnya bisa dilihat di buku panduan Akademik <Sumber : email dari : noor.ifada@if.trunojoyo.ac.id>

Konversi Bilangan dengan PASCAL

Ini adalah contoh beberapa listing program dengan menggunakan bahasa PASCAL untuk konversi bilangan semoga bermanfaat, tutorial ini saya ambil dari Mas Hela Yudha :

PROGRAM KONVERSI_BILANGAN;
{AUTHOR: HELA YUDA BUANA, MANAJEMEN INFORMATIKA, GUNADARMA}
USES WINCRT;
VAR
A,F,Z,W:STRING;

B,D,N,M,I:LONGINT;

C,J,K,E,G,H,X,Y,O:INTEGER;
PILIHAN :BYTE;
BEGIN
CLRSCR;
GOTOXY(10,2);WRITELN (‘ MASUKAN PILIHAN KONVERSI : ‘);
GOTOXY(10,4);WRITELN (‘1.HEX TO DESIMAL’);
GOTOXY(10,6);WRITELN (‘2.OKTAL TO DESIMAL’);
GOTOXY(10,8);WRITELN (‘3.BINER KE DESIMAL’);
GOTOXY(10,10);WRITELN(‘0.SELESAI’);
PILIHAN :=9;
WHILE (PILIHAN <0) OR (PILIHAN>3) DO
BEGIN
GOTOXY(10,20); WRITE (‘MASUKAN PILIHAN KAMU : ‘); READLN(PILIHAN);
END;
CLRSCR;
CASE PILIHAN OF
1:BEGIN
WRITE(‘MASUKAN NILAI HEXADECIMAL= ‘);
READLN(A);
B:=LENGTH(A);M:=0;E:=1;X:=34;Y:=3;
FOR C:= B DOWNTO 1 DO
BEGIN
F:=COPY(A,E,1);
IF (F=’A’) OR (F=’A’) THEN F:=’10′;
IF (F=’B’) OR (F=’B’) THEN F:=’11′;
IF (F=’C’) OR (F=’C’) THEN F:=’12′;
IF (F=’D’) OR (F=’D’) THEN F:=’13′;
IF (F=’E’) OR (F=’E’) THEN F:=’14′;
IF (F=’F’) OR (F=’F’) THEN F:=’15′;
VAL(F,J,K);
H:=C-1;I:=1;
FOR G:=H DOWNTO 1 DO
BEGIN
I:=I*16;
END;
D:=J*I;M:=M+D;E:=E+1;

END;
WRITE(‘UNTUK KONVERSI HEXA TO DECIMAL TEKAN ENTER……. ‘);READLN;
CLRSCR;
WRITE(‘NILAI DECIMAL =’,M);
READLN;
END;
2: BEGIN
WRITE(‘MASUKAN NILAI OKTAL= ‘);
READLN(A);
B:=LENGTH(A);M:=0;E:=1;X:=34;Y:=3;
FOR C:= B DOWNTO 1 DO
BEGIN
F:=COPY(A,E,1);
VAL(F,J,K);
H:=C-1;I:=1;
FOR G:=H DOWNTO 1 DO
BEGIN
I:=I*8;
END;
D:=J*I;M:=M+D;E:=E+1;
END;
WRITE(‘UNTUK KONVERSI OKTAL TO DESIMAL PRESS ENTER……’);READLN;
CLRSCR;
WRITE(‘NILAI DECIMAL =’,M);
READLN;
END;
3: BEGIN
WRITE(‘MASUKAN NILAI BINER= ‘);
READLN(A);
B:=LENGTH(A);M:=0;E:=1;X:=34;Y:=3;
FOR C:= B DOWNTO 1 DO
BEGIN
F:=COPY(A,E,1);
VAL(F,J,K);
H:=C-1;I:=1;
FOR G:=H DOWNTO 1 DO
BEGIN
I:=I*2;
END;
D:=J*I;M:=M+D;E:=E+1;
END;
WRITE(‘UNTUK KONVERSI BINER TO DECIMAL PRESS ENTER…..’);READLN;
CLRSCR;
WRITE(‘NILAI DECIMAL =’,M);
READLN;
END;
END;
END.