a. Latar belakang
Perkembangan
teknologi saat ini sangat berkembang dengan pesat. Setiap jam, menit, detik
selalu berkembang dan terus berkembang. Hal ini dapat kita lihat di kehidupan
kita sehari-hari dimana kita tidak bisa lepas dari namanya handphone, komputer,
pc tablet, iphone dan lain-lain.
Dengan
kemajuan jaman maka saat ini pendataan mahasiswa dengan menggunakan penulisan
manual dapat membuang banyak waktu, tenaga, dan juga biaya yang dikeluarkan.
Dengan menggunakan teknologi saat ini maka kita dapat menggunakan komputer
sebagai alat atau media untuk menginput dan menyimpan data-data mahasiswa.
Sehingga dapat menghemat waktu, tenaga, dan juga biaya yang dikeluarkan.
Dengan
menggunakan bahasa pemrograman pascal kita dapat melakukan pendataan mahasiswa secara
komputerisasi. Sehingga dapat membantu para staff dalam melakukan pendataan
mahasiswa.Pascal sendiri Pascal sebagai salah satu bahasa tingkat tinggi (high-level
language) untuk dapat dapat dikenali oleh computer harus diterjemahkan menjadi
bahasa mesin. Untuk itu dikembangkan sebuah program penerjemah yang disebut
dengan kompilator (compiler). Kompilator Pascal adalah sebuah software,
bukan perangkat keras (hardware). Kompilator adalah progam yang disimpan
pada file dalam disk.
b.
Rumusan masalah
Berdasarkan latar belakang yang
telah dipaparkan di atas, maka penulis telah menentukan beberapa rumusan
masalah dalam pembuatan program perhitungan nilai akhir dan data mahasiswa
STMIK TASIKMALAYA.
yaitu:
1.
Gambaran umum program;
2.
Flow Chart program;
3.
Koding program;
4.
Lay out program.
c.
Tujuan
Sejalan
dengan rumusan masalah di atas, makalah ini disusun dengan tujuan untuk
mengetahui dan mendeskripsikan:
1.
Pembaca dapat mengerti fungsi prosedur
pada pascal;
2.
dapat / bisa menjalankan program aplikasi data mahsiswa;
3.
Implementasi sebuah program.
BAB II
PEMBAHASAN
a. Dasar Teori
1.
Algoritma
Ditinjau
dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh.
Orang hanya menemukan kata algorism yang berarti proses menghitung
dengan angka arab. Anda dikatakan algorist jika Anda menghitung
menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun
hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal
kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu
Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-huwarizmi dibaca orang barat
menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al
Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The
book of restoration and reduction). Dari judul buku itu kita juga
memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism
menjadi algorithm muncul karena kata algorism sering
dikelirukan dengan arithmetic, sehingga akhiran –sm berubah
menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal
yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai
sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna
kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.
“Algoritma adalah urutan
langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan
logis”.
Kata logis merupakan kata
kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus
dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma
adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu.
Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah
benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari
sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau
memberikan keluaran yang salah,
pastilah
algoritma tersebut bukanlah algoritma yang baik.
2.
Struktur
Data
Dalam
istilah ilmu komputer, sebuah Struktur adalah cara penyimpanan, penyusunan dan
pengaturan data di dalam media penyimpanan komputer sehingga data tersebut
dapat digunakan secara efisien. Dalam teknik pemrograman, struktur data berarti
tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh
pengguna (user) atau pun kolom yang hanya digunakan untuk keperluan pemrograman
yang tidak tampak oleh pengguna. Setiap baris dari kumpulan kolom-kolom
tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan
bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari
pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah
struktur data dapat diterapkan untuk pengolahan database (misalnya untuk
keperluan data keuangan) atau untuk pengolah kata (word processor) yang
kolomnya berubah secara dinamis. Contoh struktur data dapat dilihat pada
berkas-berkas lembar-sebar (spreadsheet), pangkal-data (database), pengolahan
kata, citra yang dipampat (dikompres), juga pemampatan berkas dengan teknik
tertentu yang memanfaatkan struktur data.
3.
Pemrograman
Prosedural
Pada
pemrograman dikenal beberapa paradigma yang dipakai dalam memecahkan suatu
masalah. Penggunaan suatu paradigm ditujukan sebagai cara pemrogram dalam
memandang setiap entitas dalam dunia nyata dan relasi antara entitas tersebut,
sehingga memudahkannya dalam menerjemahkannya menjadi suatuprogram. Di sisi
lain, penggunaan suatu paradigma akan membatasi/mempersempit cara pandang pemrogram.
Dalam tulisan ini akan digunakan pemrograman dengan paradigma prosedural.
Pemrograman
prosedural didasari oleh konsep mesin Von Neumann yang disebut stored
program concept. Suatu program terdiri atas dua bagian yaitu algoritma dan
struktur data. Bagaimana cara kerja dari suatu program ditentukan oleh
sekumpulan perintah yang akan dilaksanakan secara sekuensial oleh suatu
pemroses tunggal. Inilah yang disebut algoritma. Dalam proses pelaksanaan
sampai mengeluarkan suatu hasil, program membutuhkan data yang akan diolahnya.
Data tersebut akan disimpan dalam memory komputer. Dalam program data tersebut
akan distrukturisasikan sehingga akan memudahkan dalam pengolahannya. Inilah
yang disebut struktur data. Paradigma prosedural membatasi cara penyusunan algoritma
dan strukturisasi data sehingga dekat dengan konsep mesin Von Neumann. Meskipun
pemrograman ini sangat tidak manusiawi, namun sangat efisien karena
kedekatannya dengan mesin.
4.
Prosedur
adalah
suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram
(program bagian). Diawali dengan kata
PROCEDURE didalam bagian deklarasi
prosedur . Prosedur banyak digunakan
pada program yang terstruktur karena :
Merupakan
penerapan konsep program modular, yaitu memecah-mecah program yang rumit
menjadi program-program bagian yang
lebih sederhana dalam bentukm prosedur-prosedur .
Untuk
hal-hal yang sering dilakukan berulang-ulang,
cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau
dipergunakan sewaktu-waktu bila diperlukan.
5.
Pengulangan
while do
Struktur
pengulangan WHILE-DO digunakan untuk mengulang statement atau suatu blok
statement berulang kali selama kodisi pada while terpenuhi / bernilai benar .
6.
Array
/ Larik
adalah
tipe terstruktur yang terdiri dari sejumlah komponen komponen yang mempunyai
tipe data yang sama. Array dapat bertipe sederhana byte, word, integer, real,
boolean, char, string dan tipe scalar
atau subrange. Suatu array mempunyai jumlah komponen yang banyaknya tetap dan
ditunjukkan oleh suatu indeks yang disebut index type (tipe indeks) Setiap
komponene dalam array dapat diakses dengan menunjukkan nilai indeksnya atau
disebut juga dengan istilah subscrip.
7.
IF
Penyeleksian
“ IF “ berguna untuk
menguji
sebuah kondisi, dimana
bila
kondisi tersebut terpenuhi (
bernilai
true ) maka akan
dijalankan
suatu pernyataan
tertentu.
Bnetuk
Umum :
IF kondisi.. THEN pernyataan..
IF kondisi.. THEN pernyataan..
ELSE pernyataan..
3.
IF kondisi1.. THEN
pernyataan..
ELSE
IF kondisi2 THEN
pernyataan..
ELSE
pernyataan
Program Database mahasiswa ini dibuat untuk memudahkan dalam
pendataan , dimana seorang guru atau dosen dengan mudah dan cepat memasukan
atau mencari data mahasiswa, Program ini dibuat dengan menggunakan bahasa
pemrograman Pascal dan ditulis dengan aplikasi Turbo Pascal For Window dengan
lay out program yang sederhana sehingga user dapat dengan mudah
mengoperasikannya.
c.
Flow chart program
Diagram alur (flowchart) merupakan
gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta
instruksinya. Bagan ini dinyatakan dengan simbol. Dengan emikian setiap simbol
menggambarkan proses tertentu sedangkan hubungan antar proses digambarkan
dengan garis penghubung. Simbol-simbol diagram alur.
d.
Koding program
program lth;
uses wincrt;
var
pilih: byte;
procedure Input_data;
type
mhs=record
npm: string[7];
nama: string[25];
nilai: real;
end;
var
fmhs: file of mhs;
rmhs: mhs;
lagi: char;
begin
assign(fmhs,'mhs.dat');
rewrite(fmhs);
lagi:='y';
while upcase(lagi)='Y' do
begin
clrscr;
with rmhs do
begin
gotoxy(5,6) ;write('Nomor Pokok Mahasiswa : ');
gotoxy(5,8) ;write('Nama Mahasiswa : ');
gotoxy(5,10) ;write('Nilai
Mahasiswa : ');
gotoxy(30,6) ;readln(npm);
gotoxy(30,8) ;readln(nama);
gotoxy(30,10);readln(nilai);
end;
write(fmhs,rmhs);
gotoxy(5,15) ;write('Masukan data
lagi [Y/T] ? ');
readln(lagi);
end;
close(fmhs);
end;
procedure Tambah_data;
type
mhs=record
npm: string[7];
nama: string[25];
nilai: real;
end;
var
fmhs: file of mhs;
rmhs: mhs;
lagi: char;
begin
assign(fmhs,'mhs.dat');
{$I-}
reset(fmhs);
{$I+};
if ioresult<>0 then
rewrite(fmhs);
seek(fmhs,filesize(fmhs));
lagi:='y';
while upcase(lagi)='Y' do
begin
clrscr;
with rmhs do
begin
gotoxy(5,6) ;write('Nomor Pokok Mahasiswa : ');
gotoxy(5,8) ;write('Nama Mahasiswa : ');
gotoxy(5,10) ;write('Nilai
Mahasiswa : ');
gotoxy(30,6) ;readln(npm);
gotoxy(30,8) ;readln(nama);
gotoxy(30,10);readln(nilai);
end;
write(fmhs,rmhs);
gotoxy(5,15) ;write('Masukan data
lagi [Y/T] ? ');
readln(lagi);
end;
close(fmhs);
end;
procedure
Lihat_data;
type
mhs=record
npm: string[7];
nama: string[25];
nilai: real;
end;
var
fmhs: file of mhs;
rmhs: mhs;
begin
assign(fmhs,'mhs.dat');
reset(fmhs);
clrscr;
writeln('-------------------------------------------------------------');
writeln('NPM nama mahasiswa nilai');
writeln('-------------------------------------------------------------');
while not eof (fmhs) do
begin
read(fmhs,rmhs);
with rmhs do
writeln(npm:7,nama:25,nilai:29:0);
end;
writeln('-------------------------------------------------------------');
close(fmhs);
readln;
end;
procedure Cari_data;
type
mhs=record
npm: string[7];
nama: string[25];
nilai: real;
end;
var
fmhs: file of mhs;
rmhs: mhs;
i,jml: integer;
nocari: string[7];
lagi: char;
ketemu: boolean;
begin
assign(fmhs,'mhs.dat');
reset(fmhs);
jml:= filesize(fmhs);
lagi:='y';
while upcase(lagi)='Y' do
begin
clrscr;
ketemu:= false;
write('Masukan npm yang dicari :
');
readln(nocari);
writeln;
for i:= 1 to jml do
begin
seek(fmhs,i-1);
read(fmhs,rmhs);
if rmhs.npm=nocari then
begin
ketemu:= true;
writeln('Nama Mahasiswa : ',rmhs.nama);
writeln('Nilai Mahasiswa :
',rmhs.nilai:2:0);
end;
end;
if not ketemu then
writeln('Tidak nomor
tersebut!!!');
writeln;
write('cari data lagi [Y/T] ?
');
readln(lagi);
end;
close(fmhs);
end;
procedure Koreksi_data;
type
mhs=record
npm: string[7];
nama: string[25];
nilai: real;
end;
var
fmhs: file of mhs;
rmhs: mhs;
i,jml: integer;
nocari: string[7];
ketemu: boolean;
lagi: char;
begin
assign(fmhs,'mhs.dat');
reset(fmhs);
jml:= filesize(fmhs);
lagi:='Y';
while upcase(lagi)='Y' do
begin
ketemu:= false;
clrscr;
write('Nomor pokok mahasiswa yang
dicari : '); readln(nocari);
writeln;
for i:= 1 to jml do
begin
seek(fmhs,i-1);
read(fmhs,rmhs);
if rmhs.npm=nocari then
begin
with rmhs do
begin
ketemu:= true;
writeln('Nomor Pokok Mahasiswa : ',npm:7);
write('Koreksinya : '); readln(npm);
writeln('Nama Mahasiswa : ',nama);
write('Koreksinya : '); readln(nama);
writeln('Nilai Mahasiswa : ',nilai:2:0);
write('Koreksinya : '); readln(nilai);
end;
end;
seek(fmhs,i-1);
write(fmhs,rmhs);
end;
if not ketemu then
writeln('Tidak nomor
tersebut!!!');
writeln;
write('ada lagi yang akan dikoreksi
[Y/T] ? ');
readln(lagi);
end;
close(fmhs);
end;
procedure Hapus_data;
type
mhs = record
npm: string[7];
nama: string[25];
nilai: real;
end;
var
fmhs: file of mhs;
rmhs: mhs;
nourut,i,jml: integer;
nocari: string[7];
ketemu: boolean;
lagi,ya: char;
begin
assign(fmhs,'mhs.dat');
reset(fmhs);
lagi:= 'Y';
while upcase(lagi)='Y' do
begin
clrscr;
jml:= filesize(fmhs);
write('Nomor record yang dihapus
(1 -',jml:3,') ? ');
readln(nourut);
writeln;
if (nourut < 1) or (nourut >
jml) then
writeln('Tidak ada no record ini
!!!')
else
begin
for i:= nourut to jml do
begin
seek(fmhs,i-1);
read(fmhs,rmhs);
with rmhs do
begin
writeln('Nama Mahasiswa : ',rmhs.nama);
writeln('Nilai Mahasiswa : ',rmhs.nilai:6:2);
end;
end;
writeln;
write('Yakin data ini akan dihapus
[Y/T] ? '); readln(ya);
if upcase(ya) = 'Y' then
begin
seek(fmhs,nourut-1);
truncate(fmhs);
end;
end;
writeln;
write('ada lagi yang akan dicari
[Y/T] ? '); readln(lagi);
end;
close(fmhs);
end;
begin
while true do
begin
clrscr;
gotoxy(20,2); write('**MENU
UTAMA**');
gotoxy(5,5); write('1. Input data
awal');
gotoxy(5,7); write('2. Tambah
data');
gotoxy(5,9); write('3. Lihat semua
data');
gotoxy(5,11); write('4. Lihat data
tertentu');
gotoxy(5,13); write('5. Edit
data');
gotoxy(5,15); write('6. Hapus
data');
gotoxy(5,17); write('7.
Selesai');
pilih := 0;
while (pilih < 1) or (pilih >
7 ) do
begin
gotoxy(5,20); write('Masukan pilihan
: ');
readln(pilih);
if (pilih < 1) or (pilih > 7)
then
write (^G);
case pilih of
1: Input_data;
2: Tambah_data;
3: begin
lihat_data;
writeln;
write('Tekan enter untuk kembali ke
MENU');
readln;
end;
4: Cari_data;
5: Koreksi_data;
6: Hapus_data;
7: Exit;
end;
end;
end;
BAB III
PENUTUP
a.
Kesimpulan
Program hitung nilai akhir dan data
mahasiswa ini dibuat untuk memudahkan dalam pekerjaan dimana seorang user
dengan mudah dan cepat dalam menghitung nilai akhir dan menginputkan data
mahasiswa. Program ini dibuat dengan menggunakan bahasa pemrograman Pascal. Diagram
alur (flowchart) merupakan gambar atau bagan yang memperlihatkan urutan
dan hubungan antar proses beserta instruksinya. Koding program adalah perintah
program dengan struktur pemrograman bahasa Pascal dan Lay out program adalah
hasil akhir dari pemrograman yang akan diimplementasikan.
b.
Saran
sesuai dengan pepatah “tiada gading
yang tak retak” dengan demikian kami kelompok 3 menyadari sepenuhnya bahwa
makalah ini masih sangat jauh dari kesempurnaan, hal ini dikarenakan
keterbatasan wawasan maupun sumber-sumber data yang dimiliki penulis, dengan
demikian kritik dan saran dari berbagai pihak sangat dinanti guna penyempurnaan
malah ini.
Tidak ada komentar:
Posting Komentar