Turbo Pascal: Membuat Program Kartu Hasil Studi dengan Array
Oke pada kali ini Sang Musafir akan berbagi sintaks turbo pascal tentang membuat program kartu Hasil Studi (KHS) dengan menggunakan Array, sebenarnya waktu dosen memberikan tugas tidak direkomendasikan sih menggunakan Array karena materinya belum sampai disitu, tapi berhubung Sang Musafir pikir-pikir kalau tidak menggunakan Array ya tentunya nanti programnya akan bersifat Kaku tidak fleksibel (tidak sesuai keiginan pengguna).
Array adalah sekumpulan variabel yang dapat disimpan dalam suatu memori dengan jenis atau type data yang sama, untuk lebih jelasnya mengenai apa itu pengertian Array mending sobat Sang Musafir searching saja di Wikipedia ya.... dan ini dia sintaks turbo pascalnya:
uses crt;
var
NIM :STRING;
NAMA :STRING;
PA : STRING;
FAKULTAS : STRING;
PS :STRING;
SMSTR :STRING;
KODE :ARRAY[1..10] OF STRING;
MK :ARRAY[1..10] OF STRING;
NILAIA :ARRAY[1..10] OF BYTE;
NILAI :ARRAY[1..10] OF BYTE;
NILAIH :ARRAY[1..10] OF STRING;
SKS :ARRAY[1..10] OF BYTE;
BOBOT :ARRAY[1..10] OF BYTE;
TOTALA :REAL;
TOTALS :REAL;
IP :REAL;
JSYDS :INTEGER;
I :INTEGER;
PREDIKAT : STRING;
ULANG : CHAR;
LABEL
ATAS;
BEGIN
ATAS:
Clrscr;
WRITE('INPUTKAN NIM: ') ;READLN(NIM);
WRITE('INPUTKAN NAMA: ') ;READLN(NAMA);
WRITE('INPUTKAN PEMBIMBING AKADEMIK: '); READLN(PA);
WRITE('FAKULTAS: '); READLN(FAKULTAS);
WRITE('INPUTKAN PROGRAM STUDY: ');READLN(PS);
WRITE('INPUTKAN SEMESTER: ') ;READLN(SMSTR);
WRITELN('============================================================================');
WRITE('BERAPA BANYAK MATA KULIAH YANG DIAMBIL: ');READLN(I);
FOR I := 1 TO I DO
BEGIN
CLRSCR;
WRITELN('DATA KE - ',I);
WRITE('INPUTKAN KODE MATA KULIAH: '); READLN(KODE[I]);
WRITE('INPUTKAN MATA KULIAH: ') ;READLN(MK[I]);
WRITE('INPUTKAN JUMLAH SKS: ') ;READLN(SKS[I]);
WRITE('INPUTKAN NILAI ANGKA: ') ;READLN(NILAIA[I]);
WRITELN('============================================================================');
IF NILAIA[I] >= 4 THEN
BEGIN
NILAIH[I] := 'A';
BOBOT[I] := SKS[I]*NILAIA[I];
END
ELSE IF NILAIA[I] >=3 THEN
BEGIN
NILAIH[I] :='B';
BOBOT[I] :=SKS[I]*NILAIA[I];
END
ELSE IF NILAIA[I] >=2 THEN
BEGIN
NILAIH[I] :='C';
BOBOT[I] :=SKS[I]*NILAIA[I];
END
ELSE IF NILAIA[I] >=1 THEN
BEGIN
NILAIH[I] :='D';
BOBOT[I] :=SKS[I]*NILAIA[I];
END
ELSE
BEGIN
NILAIH[I] :='E';
BOBOT[I] :=SKS[I]*NILAIA[I];
END;
TOTALA := TOTALA + BOBOT[I];
TOTALS := TOTALS + SKS[I] ;
END;
clrscr;
WRITELN(' KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN ');
WRITELN(' UNIVERSITAS PENDIDIKAN GANESHA ');
WRITELN('_________________________________________________________________________');
WRITELN('NIM : ',NIM);
WRITELN('NAMA : ',NAMA);
WRITELN('PEMBIMBING AKADEMIK : ',PA);
WRITELN('FAKULTAS : ',FAKULTAS);
WRITELN('PROGRAM STUDI : ',PS);
WRITELN('SEMESTER : ',SMSTR);
WRITELN('===========================================================================');
WRITELN(' NO MATA KULIAH SKS NILAI K*N ');
FOR I := 1 TO I DO
BEGIN
WRITELN(I:3,MK[I]:20,SKS[I]:13,NILAIH[I]:13,BOBOT[I]:13);
END;
WRITELN('============================================================================');
WRITELN('K*N = SKS*NILAI TOTAL: ',TOTALS:0:0,TOTALA:20:0);
WRITELN;
WRITELN('TOTAL SKS ANDA: ',TOTALS:12:0);
WRITELN('TOTAL NILAI ANDA: ',TOTALA:12:0);
IP:= TOTALA/TOTALS;
WRITELN('IP ANDA ADALAH: ',IP:12:2);
IF IP <2.75 THEN
BEGIN
PREDIKAT :='MEMUASKAN';
END
ELSE IF IP <3.50 THEN
BEGIN
PREDIKAT :='SANGAT MEMUASKAN';
END
ELSE IF IP >=3.51 THEN
BEGIN
PREDIKAT :='CUMLAUDE';
END;
WRITELN('IP ANDA TERMASUK DALAM KATEGORI: ',PREDIKAT);
IF IP <2.00 THEN
BEGIN
JSYDS := 12+2;
END
ELSE IF IP <2.50 THEN
BEGIN
JSYDS :=10+7;
END
ELSE IF IP <3.00 THEN
BEGIN
JSYDS :=10*2;
END
ELSE IF IP >=3.00 THEN
BEGIN
JSYDS :=12*2;
END;
WRITELN('JUMLAH SKS YANG BISA DIRENCANAKAN : ',JSYDS);
readln;
WRITELN ('-------------------------**********-------------------------');
WRITE (' APAKAH ANDA INGIN MENGINPUTKAN NILAI KHS LAGI? [Y/N] : '); READLN(ULANG);
IF ULANG = 'y' THEN
GOTO ATAS;
END.
var
NIM :STRING;
NAMA :STRING;
PA : STRING;
FAKULTAS : STRING;
PS :STRING;
SMSTR :STRING;
KODE :ARRAY[1..10] OF STRING;
MK :ARRAY[1..10] OF STRING;
NILAIA :ARRAY[1..10] OF BYTE;
NILAI :ARRAY[1..10] OF BYTE;
NILAIH :ARRAY[1..10] OF STRING;
SKS :ARRAY[1..10] OF BYTE;
BOBOT :ARRAY[1..10] OF BYTE;
TOTALA :REAL;
TOTALS :REAL;
IP :REAL;
JSYDS :INTEGER;
I :INTEGER;
PREDIKAT : STRING;
ULANG : CHAR;
LABEL
ATAS;
BEGIN
ATAS:
Clrscr;
WRITE('INPUTKAN NIM: ') ;READLN(NIM);
WRITE('INPUTKAN NAMA: ') ;READLN(NAMA);
WRITE('INPUTKAN PEMBIMBING AKADEMIK: '); READLN(PA);
WRITE('FAKULTAS: '); READLN(FAKULTAS);
WRITE('INPUTKAN PROGRAM STUDY: ');READLN(PS);
WRITE('INPUTKAN SEMESTER: ') ;READLN(SMSTR);
WRITELN('============================================================================');
WRITE('BERAPA BANYAK MATA KULIAH YANG DIAMBIL: ');READLN(I);
FOR I := 1 TO I DO
BEGIN
CLRSCR;
WRITELN('DATA KE - ',I);
WRITE('INPUTKAN KODE MATA KULIAH: '); READLN(KODE[I]);
WRITE('INPUTKAN MATA KULIAH: ') ;READLN(MK[I]);
WRITE('INPUTKAN JUMLAH SKS: ') ;READLN(SKS[I]);
WRITE('INPUTKAN NILAI ANGKA: ') ;READLN(NILAIA[I]);
WRITELN('============================================================================');
IF NILAIA[I] >= 4 THEN
BEGIN
NILAIH[I] := 'A';
BOBOT[I] := SKS[I]*NILAIA[I];
END
ELSE IF NILAIA[I] >=3 THEN
BEGIN
NILAIH[I] :='B';
BOBOT[I] :=SKS[I]*NILAIA[I];
END
ELSE IF NILAIA[I] >=2 THEN
BEGIN
NILAIH[I] :='C';
BOBOT[I] :=SKS[I]*NILAIA[I];
END
ELSE IF NILAIA[I] >=1 THEN
BEGIN
NILAIH[I] :='D';
BOBOT[I] :=SKS[I]*NILAIA[I];
END
ELSE
BEGIN
NILAIH[I] :='E';
BOBOT[I] :=SKS[I]*NILAIA[I];
END;
TOTALA := TOTALA + BOBOT[I];
TOTALS := TOTALS + SKS[I] ;
END;
clrscr;
WRITELN(' KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN ');
WRITELN(' UNIVERSITAS PENDIDIKAN GANESHA ');
WRITELN('_________________________________________________________________________');
WRITELN('NIM : ',NIM);
WRITELN('NAMA : ',NAMA);
WRITELN('PEMBIMBING AKADEMIK : ',PA);
WRITELN('FAKULTAS : ',FAKULTAS);
WRITELN('PROGRAM STUDI : ',PS);
WRITELN('SEMESTER : ',SMSTR);
WRITELN('===========================================================================');
WRITELN(' NO MATA KULIAH SKS NILAI K*N ');
FOR I := 1 TO I DO
BEGIN
WRITELN(I:3,MK[I]:20,SKS[I]:13,NILAIH[I]:13,BOBOT[I]:13);
END;
WRITELN('============================================================================');
WRITELN('K*N = SKS*NILAI TOTAL: ',TOTALS:0:0,TOTALA:20:0);
WRITELN;
WRITELN('TOTAL SKS ANDA: ',TOTALS:12:0);
WRITELN('TOTAL NILAI ANDA: ',TOTALA:12:0);
IP:= TOTALA/TOTALS;
WRITELN('IP ANDA ADALAH: ',IP:12:2);
IF IP <2.75 THEN
BEGIN
PREDIKAT :='MEMUASKAN';
END
ELSE IF IP <3.50 THEN
BEGIN
PREDIKAT :='SANGAT MEMUASKAN';
END
ELSE IF IP >=3.51 THEN
BEGIN
PREDIKAT :='CUMLAUDE';
END;
WRITELN('IP ANDA TERMASUK DALAM KATEGORI: ',PREDIKAT);
IF IP <2.00 THEN
BEGIN
JSYDS := 12+2;
END
ELSE IF IP <2.50 THEN
BEGIN
JSYDS :=10+7;
END
ELSE IF IP <3.00 THEN
BEGIN
JSYDS :=10*2;
END
ELSE IF IP >=3.00 THEN
BEGIN
JSYDS :=12*2;
END;
WRITELN('JUMLAH SKS YANG BISA DIRENCANAKAN : ',JSYDS);
readln;
WRITELN ('-------------------------**********-------------------------');
WRITE (' APAKAH ANDA INGIN MENGINPUTKAN NILAI KHS LAGI? [Y/N] : '); READLN(ULANG);
IF ULANG = 'y' THEN
GOTO ATAS;
END.
Baik.... sekian tutorial dari Sang Musafir semoga dapat membantu sobat dalam mengerjakan tugas Pemrograman. jika ada hal yang belum difahami silahkan tinggalkan komentar dibawah ya. ^_^
Turbo Pascal: Membuat Program Kartu Hasil Studi dengan Array
Reviewed by Amer Syarifuddin
on
Jumat, April 24, 2015
Rating:
Bg, sintaks pascal yg abg posting gk bisa di gunakan bg,ad yg salah,kompilasi gk brhsil
BalasHapus