uts algoritma 1c
CLS
n = 0: no = 0: h = 1: u = 0: tp = 0: tw = 0
INPUT "TAHUN SEKARANG : ", TS: CLS
20 PRINT
PRINT TAB(30); "PT. MAVINDO"
PRINT TAB(59); "HAL : "; h
PRINT "------------------------------------------------------------------"
PRINT "NO", "NOMOR INDUK", "NAMA", "UMUR", "KETERANGAN"
PRINT "------------------------------------------------------------------"
30 READ NIK$, NAMA$, TL, JK$
IF NIK$ = "0" THEN PRINT "------------------------------------------------------------------": PRINT TAB(36); "TOTAL SELURUH PRIA : "; tp; "ORANG": PRINT TAB(36); "TOTAL SELURUH WANITA : "; tw; "ORANG": END
u = TS - TL
IF u <= 56 THEN GOTO 30
IF JK$ = "0" THEN Ket$ = "PRIA": tp = tp + 1: GOTO 60
IF JK$ = "1" THEN Ket$ = "WANITA": tw = tw + 1: GOTO 60
JK$ = "SALAH"
60 n = n + 1: no = no + 1
PRINT no, NIK$, NAMA$, u, Ket$
IF n = 5 THEN PRINT "------------------------------------------------------------------": INPUT "NEXT HAL (TEKAN ENTER)"; Y: CLS: n = 0: h = h + 1: GOTO 20
GOTO 30
DATA 54123,ACEP,1951,0,54122,LIEN,1941,1,54233,AMELIA,1958,1
DATA 54321,FUAD,1950,0,54222,NAUVAL,1935,0,54333,HAMDA,1940,0
DATA 53244,EGA,1948,0,56233,IRMA,1930,1,57345,RINA,1952,1
DATA 0,0,0,0
Sabtu, 20 Desember 2014
Jumat, 19 Desember 2014
PROGRAM QBASIC SEDERHANA
AGAR LEBIH JELAS LIHAT DULU GAMBAR DI ATAS
CLS
n = o: no = 0: h = 1: th = 0: tk = 0
10 PRINT
PRINT TAB(17); "DATA REKAP GAJI KARYAWAN"
PRINT TAB(40); "HAL "; h
PRINT "-------------------------------------------------"
PRINT "NO", "NIK", "NAMA", "GAJI"
PRINT "-------------------------------------------------"
30 READ NIK$, NAMA$, JK
IF NIK$ = "0" THEN PRINT "------------------------------------------------": PRINT TAB(26); "TOTAL GAJI : Rp. "; th: PRINT TAB(19); "JUMLAH TOTAL GAJI : Rp. "; tk: END
G = JK * 100000 + 50000
n = n + 1
no = no + 1
th = th + G
tk = tk + th
PRINT no, NIK$, NAMA$, G
IF n = 2 THEN PRINT "------------------------------------------------": PRINT TAB(26); "TOTAL GAJI : Rp. "; th: INPUT "NEXT HAL (TEKAN ENTER) "; Y: CLS: n = 0: h = h + 1: th = 0: GOTO 10
GOTO 30
DATA 001,ACEP,12,002,DEWI,10,003,SRI,12
DATA 004,AMEL,14,005,MELA,20,0,000,00
Selasa, 16 Desember 2014
Q-BASIC MENULIS, MENAMBAH, MENGEDIT, MENGHAPUS DATA PADA NOTEPAD
BELAJAR OPEN FILE DAN MANIFULASI STRING
"I"
(Input) – file dibuka hanya untuk dibaca.
"O"
(Output) – file dibuka hanya untuk ditulisi.
"A"
(Append) – file dibuka untuk menambah record.
untuk melakukan penulisan,
penambahan dan membaca ada 2 macam source code yang dapat di gunakan :
Pertama :
OPEN
"I", #1, "MAHASISWA.TXT"
OPEN
"O", #1, " MAHASISWA.TXT"
OPEN
"A", #1, " MAHASISWA.TXT"
Kedua :OPEN " MAHASISWA.TXT" FOR OUTPUT AS # 1
OPEN " MAHASISWA.TXT" FOR INPUT AS # 1
OPEN " MAHASISWA.TXT" FOR APPEND AS # 1
LANGSUNG UNTUK MENULIS DATA :
10 ' *** PROGRAM ISI DATA ***
15 OPEN "O", #1, "D:\DATA\SISWA.TXT"
20 CLS
30 INPUT "Nomor Induk Mahasiswa : ", NIM$
40 INPUT "Nama Mahasiswa : ", NAMA$
50 INPUT "Nilai Mahasiswa : ", NILAI
60 WRITE #1, NIM$, NAMA$, NILAI
70 INPUT " ISI DATA LAGI [Y/T] : ", JAWAB$
80 IF JAWAB$ = "Y" OR JAWAB$ = "y" THEN GOTO 20
90 CLOSE #1
100 END
MENAMBAH DATA :
10 ' *** PROGRAM TAMBAH DATA ***
15 OPEN "A", #1, "D:\DATA\SISWA.TXT"
20 CLS
30 INPUT "Nomor Induk Mahasiswa : ", NIM$
40 INPUT "Nama Mahasiswa : ", NAMA$
50 INPUT "Nilai Mahasiswa : ", NILAI
60 WRITE #1, NIM$, NAMA$, NILAI
70 INPUT " ISI DATA LAGI [Y/T] : ", JAWAB$
80 IF JAWAB$ = "Y" OR JAWAB$ = "y" THEN GOTO 20
90 CLOSE #1
100 END
MENGEDIT DATA :
10 CLS
20 OPEN "I", #1,
"D:\DATA\SISWA.TXT"
30 OPEN "O", #2,
"D:\DATA\BARU.TXT"
40 INPUT "NIM YANG AKAN
DIKOREKSI NILAINYA : ", NIMCARI$
50 PRINT
60 SWITCH = 0
70 WHILE NOT EOF(1)
80 INPUT #1, NIM$, NAMA$, NILAI
90 IF NIM$ <> NIMCARI$ THEN
GOTO 170
100 PRINT " NOMOR INDUK
MAHASISWA : "; NIM$
110 PRINT " NAMA MAHASISWA :
"; NAMA$
120 PRINT " NILAI MAHASISWA :
"; NILAI
130 PRINT
140 INPUT " NILAI YANG BARU : ", B$
150 SWITCH = 1
160 IF B$ <> "" THEN NILAI =
VAL(B$)
170 WRITE #2, NIM$, NAMA$, NILAI
180 WEND
190 CLOSE
310 KILL
"D:\DATA\SISWA.TXT"
320 NAME
"D:\DATA\BARU.TXT" AS "D:\DATA\SISWA.TXT"
330 IF SWITCH = 0 THEN PRINT
"MAAF, NIM TERSEBUT TIDAK ADA DALAM FILE!"
340 PRINT
350 INPUT "ADA KOREKSI LAGI
[Y/T] : ", KOREKSI$
360 IF KOREKSI$ = "y" OR
KOREKSI$ = "Y" THEN GOTO 10
370 END
MENGHAPUS DATA :
10 CLS
20 OPEN "I", #1, "D:\DATA\SISWA.TXT"
30 OPEN "O", #2,
"D:\DATA\BARU.TXT"
40 INPUT "NIM YANG AKAN
DIKOREKSI NILAINYA : ", NIMCARI$
50 PRINT
60 SWITCH = 0
70 WHILE NOT EOF(1)
INPUT #1, NIM$, NAMA$, NILAI
IF NIM$ <> NIMCARI$ THEN GOTO 171
PRINT " NOMOR INDUK MAHASISWA : "; NIM$
110 PRINT " NAMA MAHASISWA : "; NAMA$
120 PRINT " NILAI MAHASISWA : "; NILAI
PRINT
140 SWITCH = 1
INPUT "INGIN DIHAPUS DARI FILE [Y/T] : ", HAPUSOK$
IF HAPUSOK$ = "Y" OR HAPUSOK$ = "y" THEN GOTO 180
171 WRITE #2, NIM$, NAMA$, NILAI
180 WEND
190 CLOSE
310 KILL
"D:\DATA\SISWA.TXT"
320 NAME
"D:\DATA\BARU.TXT" AS "D:\DATA\SISWA.TXT"
330 IF SWITCH <> 1 THEN PRINT
"MAAF, NIM TERSEBUT TIDAK ADA DALAM FILE!"
340 PRINT
350 INPUT "ADA RECORD YANG AKAN
DIHAPUS LAGI [Y/T] : ", HAPUS$
360 IF HAPUS$ = "y" OR
HAPUS$ = "Y" THEN GOTO 10
370 END
CARA NGEPRINT DATA :
10 ' *** PROGRAM CETAK DATA ***
15 CLS
20 OPEN "I", #1,
"D:\DATA\SISWA.TXT"
30 IF EOF(1) THEN CLOSE #1: END
40 INPUT #1, NIM$, NAMA$, NILAI
PRINT NIM$, NAMA$, NILAI
60 GOTO 30
MANIPULASI STRING :
DIM Y AS STRING * 31
DIM Z AS LONG
HURUP$ = " AKU INGIN BELAJAR
MENCINTAI MU"
GABHUR = LEN(HURUP$)
X = 0
DO
CLS
LOCATE 12, 21
X = X + 1
IF X = GABHUR + 1 THEN X = 0
Y = MID$(HURUP$, X) + HURUP$
COLOR 10
PRINT Y
Z = 0
DO
Z = Z + 1
LOOP UNTIL Z = 100000000
LOOP UNTIL CEP$ <>
""
END
Selasa, 02 Desember 2014
MEMBUWAT TEXT BERJALAN PADA QBASIC
YUK KITA BELAJAR MANIFULASI STRING UNTUKTEXT BERJALAN
NIE SOURCE CODE NYA
DIM Y AS STRING * 31
DIM Z AS LONG
HURUP$ = " AKU INGIN BELAJAR MENCINTAI MU"
GABHUR = LEN(HURUP$)
X = 0
DO
CLS
LOCATE 12, 21
X = X + 1
IF X = GABHUR + 1 THEN X = 0
Y = MID$(HURUP$, X) + HURUP$
COLOR 10
PRINT Y
Z = 0
DO
Z = Z + 1
LOOP UNTIL Z = 100000000
LOOP UNTIL CEP$ <> ""
END
OKE SEKARANG PENJELASANNYA:
DISINI SAYA MENDEFINISIKAN PROGRAM DALAM 3 VARIABEL X, Y, Z
X = DIGUNAKAN UNTUK MENAMBAH 1 HURUP TIAP SESUDAH MENGHILANG
Y= DIGUNAKAN UNTUK MENJALANKAN HURUP DENGAN CARA MENGHILANGKAN HURUP SATU PERSATU
Z= DIGUNAKAN UNTUK CEPAT ATAU LAMBATNYA HURUP BERJALAN
DIM Y AS STRING * 31 , ANGKA 31 ITU DI DAPAT DARI PERHITUNGAN BANYAK HURUP+SPASI ( " AKU INGIN BELAJAR MENCINTAI MU" )
LOCATE 12, 21 , DIGUNAKAN UNTUK MENENTUKAN POSISI HURUP ITU BERADA
X = X + 1, DIGUNAKAN UNTUK MENAMBAH 1 HURUP SETELAH MENGHILANG JIKA INGIN 2 ATAU 3 ATAU SESUAI DENGAN KEINGINAN KITA MAKA RUBAH ANGKA +1 SESUAI DENGAN YANG KITA INGINKAN
Y = MID$(HURUP$, X) + HURUP$ , UNTUK VARIABEL Y BISA KITA RUBAH-RUBAH
SILAHKAN TENTUKAN MANA YANG KITA SUKAI
Y=LEFT$(HURUP$,X)
Y=LEFT$(HURUP$,X)+HURUP$
Y=RIGHT$(HURUP$,X)
Y=RIGHT$(HURUP$,X)+HURUP$
Y=MID$(HURUP$,X)
SILAHKAN PILIH SALAH SATU :)
LOOP UNTIL Z = 100000000, JUMLAH NOL MENENTUKAN CEPAT LAMBATNYA
SEKIAN MOGA BERMANFAAT :)
NIE SOURCE CODE NYA
DIM Y AS STRING * 31
DIM Z AS LONG
HURUP$ = " AKU INGIN BELAJAR MENCINTAI MU"
GABHUR = LEN(HURUP$)
X = 0
DO
CLS
LOCATE 12, 21
X = X + 1
IF X = GABHUR + 1 THEN X = 0
Y = MID$(HURUP$, X) + HURUP$
COLOR 10
PRINT Y
Z = 0
DO
Z = Z + 1
LOOP UNTIL Z = 100000000
LOOP UNTIL CEP$ <> ""
END
OKE SEKARANG PENJELASANNYA:
DISINI SAYA MENDEFINISIKAN PROGRAM DALAM 3 VARIABEL X, Y, Z
X = DIGUNAKAN UNTUK MENAMBAH 1 HURUP TIAP SESUDAH MENGHILANG
Y= DIGUNAKAN UNTUK MENJALANKAN HURUP DENGAN CARA MENGHILANGKAN HURUP SATU PERSATU
Z= DIGUNAKAN UNTUK CEPAT ATAU LAMBATNYA HURUP BERJALAN
DIM Y AS STRING * 31 , ANGKA 31 ITU DI DAPAT DARI PERHITUNGAN BANYAK HURUP+SPASI ( " AKU INGIN BELAJAR MENCINTAI MU" )
LOCATE 12, 21 , DIGUNAKAN UNTUK MENENTUKAN POSISI HURUP ITU BERADA
X = X + 1, DIGUNAKAN UNTUK MENAMBAH 1 HURUP SETELAH MENGHILANG JIKA INGIN 2 ATAU 3 ATAU SESUAI DENGAN KEINGINAN KITA MAKA RUBAH ANGKA +1 SESUAI DENGAN YANG KITA INGINKAN
Y = MID$(HURUP$, X) + HURUP$ , UNTUK VARIABEL Y BISA KITA RUBAH-RUBAH
SILAHKAN TENTUKAN MANA YANG KITA SUKAI
Y=LEFT$(HURUP$,X)
Y=LEFT$(HURUP$,X)+HURUP$
Y=RIGHT$(HURUP$,X)
Y=RIGHT$(HURUP$,X)+HURUP$
Y=MID$(HURUP$,X)
SILAHKAN PILIH SALAH SATU :)
LOOP UNTIL Z = 100000000, JUMLAH NOL MENENTUKAN CEPAT LAMBATNYA
SEKIAN MOGA BERMANFAAT :)
CARA MEMBUWAT FILE .TXT PADA QBASIC
1.MEMBUWAT FILE .TXT
OPEN "D:\NOTEPAD\DATA NILAI MAHASISWA.TXT" FOR OUTPUT AS #1
150 CLS
PRINT TAB(10); "DATA NILAI MAHASISWA"
PRINT
INPUT "NPM : ", NPM
INPUT "NAMA : ", NAMA
INPUT "KELAS : ", KELAS
INPUT "MATEMATIKA : ", MATEMATIKA
INPUT "B.INGGRIS : ", B.ENGGLIS
INPUT "B.INDONESIA : ", B.INDONESIA
INPUT "PEMROGRAMAN : ", PEMROGRAMAN
PRINT
NPMO$ = NPM
NMO$ = NAMA
KLO$ = KELAS
MTKO = MATEMATIKA
BEO = B.ENGGLIS
BIO = B.INDONESIA
PMO = PEMROGRAMAN
WRITE #1, NPMO$, NMO$, KLO$, MTKO, BEO, BIO, PMO
INPUT "MAHASISWA SELANJUTNYA (Y/T) : ", MAHASISWA$
IF MAHASISWA$ = "Y" THEN GOTO 150
CLOSE #1
END
2. MENAMBAHKAN DATA KE FILE YANG TELAH DIBUWAT
200 DIM NPM1 AS STRING
DIM NAMA1 AS STRING
DIM KELAS1 AS STRING
DIM MATEMATIKA1 AS INTEGER
DIM B.INGGRIS1 AS INTEGER
DIM B.INDONESIA1 AS INTEGER
DIM PEMROGRAMAN1 AS INTEGER
OPEN "D:\NOTEPAD\DATA NILAI MAHASISWA.TXT" FOR APPEND AS #1
250 CLS
PRINT TAB(10); "DATA NILAI MAHASISWA"
PRINT
INPUT "NPM : ", NPM1
INPUT "NAMA : ", NAMA1
INPUT "KELAS : ", KELAS1
INPUT "MATEMATIKA : ", MATEMATIKA1
INPUT "B.INGGRIS : ", B.ENGGLIS1
INPUT "B.INDONESIA : ", B.INDONESIA1
INPUT "PEMROGRAMAN : ", PEMROGRAMAN1
PRINT
NPMO$ = NPM1
NMO$ = NAMA1
KLO$ = KELAS1
MTKO = MATEMATIKA1
BEO = B.ENGGLIS1
BIO = B.INDONESIA1
PMO = PEMROGRAMAN1
WRITE #1, NPMO$, NMO$, KLO$, MTKO, BEO, BIO, PMO
INPUT "MAHASISWA SELANJUTNYA (Y/T) : ", MAHASISWA$
IF MAHASISWA$ = "Y" THEN GOTO 250
CLOSE #1
END
3. UNTUK PRINT DATA DARI FILE .TXT
CLS
N = 0: P = 0
PRINT TAB(15); "HASIL UTS MAHASISWA"
PRINT
PRINT "NO", "NPM", "NAMA", "PRESTASI"
OPEN "D:\NOTEPAD\DATA NILAI MAHASISWA.TXT" FOR INPUT AS #1
30 INPUT #1, NPMO$, NMO$, KLO$, MTKO, BEO, BIO, PMO
IF NPMO$ = "0" THEN CLOSE #1: END
P = (MTKO + BEO + BIO + PMO) / 4
N = N + 1
PRINT N, NPMO$, NMO$, P
GOTO 30
PENJELASAN :
OPEN "D:\NOTEPAD\DATA NILAI MAHASISWA.TXT" FOR OUTPUT AS #1
1. code diatas digunakan untuk menulis file baru dengan file berbentuk .txt, D:\NOTEPAD\DATA NILAI MAHASISWA itu artinya saya membuwat di partisi D Folder Notepad dan nama filenya Data Nilai Mahasiswa
2. FOR OUTPUT AS #1 saya menggunakan MODE OUTPUT yang artinya output untuk membuwat data baru
OPEN "D:\NOTEPAD\DATA NILAI MAHASISWA.TXT" FOR APPEND AS #1
1. code diatas digunakan untuk melanjutkan memasukan data tanpa menghapus data terdahulu
2. FOR APPEND AS #1 ini artinya (Append) untuk melanjutkan data
OPEN "D:\NOTEPAD\DATA NILAI MAHASISWA.TXT" FOR INPUT AS #1
1. FOR INPUT AS #1 , INPUT disini artinya bahwa file .txt telah ada di "D:\NOTEPAD\ sehingga input disini di artikan untuk melihat isi dari data yang telah kita buwat.
2. IF NPMO$ = "0" THEN CLOSE #1: END code ini digunakan untuk mengakhiri proses tanpa ada pesan error. "karena program tersebut digunakan untuk pembelajaran maka saya menggunanan NPM=0 untuk mengakhiri prosesprogramnya.
catatan : pada saat pembuwatan data baru jangan lupa untuk menuliskan npm =0 jika ingin menyamakan program dengan code diatas.
jangan lupa menggunakan WRITE #no_file jika program no. 3 ingin berjalan
karena jika menggunakan PRINT # no_file atau PUT #no_file suka error.
hehe cukup sekian semoga bermanfaat ya :) mohon maaf jika bnyak kesalahan
OPEN "D:\NOTEPAD\DATA NILAI MAHASISWA.TXT" FOR OUTPUT AS #1
150 CLS
PRINT TAB(10); "DATA NILAI MAHASISWA"
INPUT "NPM : ", NPM
INPUT "NAMA : ", NAMA
INPUT "KELAS : ", KELAS
INPUT "MATEMATIKA : ", MATEMATIKA
INPUT "B.INGGRIS : ", B.ENGGLIS
INPUT "B.INDONESIA : ", B.INDONESIA
INPUT "PEMROGRAMAN : ", PEMROGRAMAN
NPMO$ = NPM
NMO$ = NAMA
KLO$ = KELAS
MTKO = MATEMATIKA
BEO = B.ENGGLIS
BIO = B.INDONESIA
PMO = PEMROGRAMAN
WRITE #1, NPMO$, NMO$, KLO$, MTKO, BEO, BIO, PMO
INPUT "MAHASISWA SELANJUTNYA (Y/T) : ", MAHASISWA$
IF MAHASISWA$ = "Y" THEN GOTO 150
CLOSE #1
END
2. MENAMBAHKAN DATA KE FILE YANG TELAH DIBUWAT
200 DIM NPM1 AS STRING
DIM NAMA1 AS STRING
DIM KELAS1 AS STRING
DIM MATEMATIKA1 AS INTEGER
DIM B.INGGRIS1 AS INTEGER
DIM B.INDONESIA1 AS INTEGER
DIM PEMROGRAMAN1 AS INTEGER
OPEN "D:\NOTEPAD\DATA NILAI MAHASISWA.TXT" FOR APPEND AS #1
250 CLS
PRINT TAB(10); "DATA NILAI MAHASISWA"
INPUT "NPM : ", NPM1
INPUT "NAMA : ", NAMA1
INPUT "KELAS : ", KELAS1
INPUT "MATEMATIKA : ", MATEMATIKA1
INPUT "B.INGGRIS : ", B.ENGGLIS1
INPUT "B.INDONESIA : ", B.INDONESIA1
INPUT "PEMROGRAMAN : ", PEMROGRAMAN1
NPMO$ = NPM1
NMO$ = NAMA1
KLO$ = KELAS1
MTKO = MATEMATIKA1
BEO = B.ENGGLIS1
BIO = B.INDONESIA1
PMO = PEMROGRAMAN1
WRITE #1, NPMO$, NMO$, KLO$, MTKO, BEO, BIO, PMO
INPUT "MAHASISWA SELANJUTNYA (Y/T) : ", MAHASISWA$
IF MAHASISWA$ = "Y" THEN GOTO 250
CLOSE #1
END
3. UNTUK PRINT DATA DARI FILE .TXT
CLS
N = 0: P = 0
PRINT TAB(15); "HASIL UTS MAHASISWA"
PRINT "NO", "NPM", "NAMA", "PRESTASI"
OPEN "D:\NOTEPAD\DATA NILAI MAHASISWA.TXT" FOR INPUT AS #1
30 INPUT #1, NPMO$, NMO$, KLO$, MTKO, BEO, BIO, PMO
IF NPMO$ = "0" THEN CLOSE #1: END
P = (MTKO + BEO + BIO + PMO) / 4
N = N + 1
PRINT N, NPMO$, NMO$, P
GOTO 30
PENJELASAN :
OPEN "D:\NOTEPAD\DATA NILAI MAHASISWA.TXT" FOR OUTPUT AS #1
1. code diatas digunakan untuk menulis file baru dengan file berbentuk .txt, D:\NOTEPAD\DATA NILAI MAHASISWA itu artinya saya membuwat di partisi D Folder Notepad dan nama filenya Data Nilai Mahasiswa
2. FOR OUTPUT AS #1 saya menggunakan MODE OUTPUT yang artinya output untuk membuwat data baru
OPEN "D:\NOTEPAD\DATA NILAI MAHASISWA.TXT" FOR APPEND AS #1
1. code diatas digunakan untuk melanjutkan memasukan data tanpa menghapus data terdahulu
2. FOR APPEND AS #1 ini artinya (Append) untuk melanjutkan data
OPEN "D:\NOTEPAD\DATA NILAI MAHASISWA.TXT" FOR INPUT AS #1
1. FOR INPUT AS #1 , INPUT disini artinya bahwa file .txt telah ada di "D:\NOTEPAD\ sehingga input disini di artikan untuk melihat isi dari data yang telah kita buwat.
2. IF NPMO$ = "0" THEN CLOSE #1: END code ini digunakan untuk mengakhiri proses tanpa ada pesan error. "karena program tersebut digunakan untuk pembelajaran maka saya menggunanan NPM=0 untuk mengakhiri prosesprogramnya.
catatan : pada saat pembuwatan data baru jangan lupa untuk menuliskan npm =0 jika ingin menyamakan program dengan code diatas.
jangan lupa menggunakan WRITE #no_file jika program no. 3 ingin berjalan
karena jika menggunakan PRINT # no_file atau PUT #no_file suka error.
hehe cukup sekian semoga bermanfaat ya :) mohon maaf jika bnyak kesalahan
Langganan:
Postingan (Atom)