Kegiatan Praktikum : Manipulasi Data & Pengolahan File 4 Tujuan : - Praktikan dapat memahami fungsi-fungsi manipulasi data - Praktikan dapat menguraikan jenis-jenis fungsi string dan fungsi aritmatika - Praktikan dapat menggunakan fungsi-fungsi dalam pemrograman Qbasic - Praktikan dapat memahami penggunaan Record Type pada QBasic - Praktikan dapat memahami Penggunaan Variable Record Type pada QBasic - Praktikan dapat menggunakan Record Type dan Variable Record Type pada pemrograman Qbasic - Praktikan dapat memahami pengertian File - Praktikan dapat memahami pengolahan Sequential File
Manipulasi Data Pendahuluan : Pertemuan ini akan mempelajari tentang fungsi-fungsi yang digunakan untuk manipulasi data yaitu fungsi string dan fungsi aritmatika. Materi ini berguna dalam membuat program yang menggunakan manipulasi data dan juga untuk mengikuti perkuliahan berikutnya tentang pembuatan report. Tujuan : - Praktikan dapat memahami fungsi-fungsi manipulasi data - Praktikan dapat menguraikan jenis-jenis fungsi string dan fungsi aritmatika - Praktikan dapat menggunakan fungsi-fungsi dalam pemrograman QBasic Kegiatan Praktikum : Apa saja fungsi-fungsi manipulasi data pada Qbasic?? Fungsi String 1. Fungsi LEN Digunakan untuk menghitung panjang dari suatu ungkapan string Contoh 1 : INPUT NAMA ANDA? ;NAMA$ PRINT PANJANG NAMA ANDA ADALAH ;LEN (NAMA$); KARAKTER NAMA ANDA? DEVITA NURINSANI PANJANG NAMA ANDA ADALAH 16 KARAKTER 2. Fungsi LEFT$ Digunakan untuk mengambil sejumlah karakter dari mulai posisi paling kiri Contoh 2: Y$= ABCDEFGHIJKLMNOPQRSTUVWXYZ
A$=LEFT$(Y$,6) PRINT A$= ;A$ END A$=ABCDEF 3. Fungsi RIGHT$ Digunakan untuk mengambil sejumlah karakter dari mulai posisi paling kanan Contoh 3 : Y$= ABCDEFGHIJKLMNOPQRSTUVWXYZ C$= RIGHT$(Y$,15) PRINT C$= ;C$ END C$= LMNOPQRSTUVWXYZ 4. Fungsi MID$ Digunakan untuk mengambil sejumlah karakter ditengah mulai posisi yang tertentu. Contoh 4 : Y$= ABCDEFGHIJKLMNOPQRSTUVWXYZ E$= MID$(Y$,7,6) PRINT E$= ;E$ END E$= GHIJKL 5. Fungsi VALUE(VAL) Digunakan untuk mengkonversi data string menjadi data numerik Contoh 5 : A$= 300 B$= 100
A=VAL(A$) B=VAL(B$) PRINT A$,B$,A$+B$ PRINT A,B,A+B 300 100 300100 300 100 400 6. Fungsi STR$ Digunakan untuk mengkonversi data numerik menjadi data string. Contoh 6 : A=300 B=100 A$=STR$(A) B$=STR$(B) PRINT A$,B$,A$+B$,STR$(A+B) PRINT A,B,A+B 300 100 300100 400 300 100 400 Fungsi Aritmatika 1. Fungsi SIN Digunakan untuk mencari harga sinus suatu sudut yang dinyatakan dalam radian. Contoh 9 : PRINT SIN(1.5) PRINT SIN(30) PRINT SIN(45) Output:.9974951
-.9880317.8509035 2. Fungsi COS Digunakan untuk mencari harga cosinus suatu sudut yang dinyatakan dalam radian. Contoh 10 : D= 3.14159/180 PRINT COS(15*D) PRINT COS(30*D) PRINT COS(45*D).965926.866026.707107 3. Fungsi ABS (Absolute) Digunakan untuk mengambil harga mutlak dari suatu ekspresi numeris. Contoh 12 : PRINT ABS(-28.8) PRINT ABS(-5*3) PRINT ABS(3*4.2*2) Output: 28.8 15 25.2 4. Fungsi SQR Digunakan untuk mengambil harga akar kuadrat dari suatu bilangan. Contoh 16 : PRINT SQR(16) PRINT SQR(32*2)
A=SQR(81) PRINT A 4 8 9 5. Fungsi Integer (INT) Digunakan untuk membulatkan suatu pecahan ke bilangan bulat terkecil. Contoh 17 : PRINT INT (- 3.5) PRINT INT (5.4) PRINT INT (7.8) PRINT INT(-2.25) -4 5 7-3 6. Fungsi Modulo (MOD) Digunakan untuk menghitung sisa pembagian dari dua buah operand Contoh 20 : X=15 : Y=4 SISA=X MOD Y PRINT SISA PEMBAGIAN DARI ;X; DIBAGI ;Y; = ;SISA END SISA PEMBAGIAN DARI 15 DIBAGI 4 = 3
Kegiatan Praktikum : Type Data Record & File Pendahuluan : Pada pertemuan ke tujuh ini, anda akan belajar tentang type data record. Anda akan belajar tentang bagaimana cara menggunakan type data record pada Qbasic. Petunjuk Praktikum : Tujuan : - Praktikan dapat memahami penggunaan Record Type pada QBasic - Praktikan dapat memahami Penggunaan Variable Record Type pada QBasic - Praktikan dapat menggunakan Record Type dan Variable Record Type pada pemrograman Qbasic - Praktikan dapat memahami pengertian File - Praktikan dapat memahami pengolahan Sequential File Kegiatan Praktikum : Apa yang dimaksud dengan Record Type dan Variable Record Type pada Qbasic dan bagaimana pendeklarasiannya? 1 Record Type Record Type merupakan type variabel yang terdiri dari kumpulan type-type variabel standar yang terdapat pada QBasic. Record Type banyak digunakan dalam pengolahan data, dan random file karena menawarkan fleksibilitas dan kemudahan dalam pemakaiannya.
Pendeklarasian Type nama <nama elemen 1> AS <typedata> <nama elemen 2> AS <typedata>... End Type Contoh : Gambar 7.1 contoh pendeklarasian type record Mendeklarasikan type data Mahasiswa yang merupakan kumpulan dari data NPM, Nama, dan IPK. 2. Variable Record Type Variable Record Type digunakan untuk mendeklarasikan variabel berdasarkan Record Type tertentu. Untuk mendeklarasikan variabel berdasarkan Record Type tertentu dengan menggunakan perintah DIM. Menggunakan Variabel Record Type pemakaian variabel Record Type sama saja dengan variabel biasa, dan kita juga dapat menyatakan masing-masing komponennya. Pendeklarasian : Dim nama_var As type_record Contoh: Gambar 7.2 contoh pendeklarasian variable record Mendeklarasikan variabel datamhs yang memiliki type mahasiswa, sehingga variabel DataMHS memiliki komponen NPM, Nama dan IPK.
Apa itu File? File merupakan fasilitas penyimpanan data pada external storage yang bersifat permanen. Dengan pemakaian file kita dapat menghemat pemakaian RAM komputer yang memiliki jumlah yang terbatas serta dapat melakukan dokumentasi untuk jangka waktu yang panjang. Pada QBasic pengolahan file dapat dibagi menjadi tiga jenis, yaitu : 1. SEQUENTIAL FILE 2. RANDOM FILE 3. BINARY FILE Bagaimana cara kerja pengolahan Sequential File? Pada Sequential file (file urut) proses pengolahannya dilakukan secara linier atau berurutan dari awal sampai akhir, tanpa bisa kembali kebagian sebelumnya, kecuali proses dimulai lagi dari awal lagi. Jadi dalam pengolahan datanya bersifat first in first out, artinya pembacaan data dari file ini harus dimulai dari data yang paling awal. Bagaimana tahapan Input/Output pada pengolahan Sequential File? Umumnya pengolahan data yang menggunakan file sebagai media INPUT atau OUTPUT memiliki tiga tahap, yaitu : 1. Tahap membuka file (OPEN) 2. Tahap memproses (INPUT/OUTPUT) 3. Tahap menutup file (CLOSE) 1. Membuka File SEQUENTIAL Untuk membuka file sequential yang akan diproses dapat digunakan sintaks sebagai berikut : Open filename [FOR mode] AS [#]filenum dimana mode terdiri dari : INPUT, membuka file untuk proses INPUT OUTPUT, membuka file baru untuk proses OUTPUT APPEND, membuka file untuk untuk proses OUTPUT dimana data baru ditambahkan pada bagian akhir. Contoh :
Open "Siswa.Dat" For Append AS #1 Akan membuka Siswa.Dat sebagai OUPUT dimana data baru ditambahkan pada bagian akhir. Jika file Siswa.Dat belum ada, maka akan dibuat yang baru. 2. Proses Input/Output Perintah proses INPUT/OUTPUT pada sequential file tergantung kepada bentuk perlakuan terhadap data. Untuk penulisan berorientasi baris, dapat digunakan perintah PRINT dan pembacaanya dapat menggunakan LINEINPUT. Untuk penulisan yang berorientasi pada data, dapat digunakan perintah WRITE dan INPUT untuk proses pembacaannya. Berikut sintaksnya: PRINT #filenumber,[using stringexpressin;]expression list LINEINPUT #filenumber, variable-string WRITE #filenumber[,expressionlist] INPUT #filenumber, variablelist Contoh : Write #1, "920403024","Hendra",80,90 Untuk menulis ke file nomor 1. Dan data dapat dibaca kembali dengan perintah : Input #1,Nim$,Nama$,Teori,Praktek 3. Proses Close Untuk menutup file dapat digunakan perintah CLOSE, berikut sintaksnya: CLOSE #filenumber Contoh : CLOSE #1 Untuk menutup file nomor 1. Contoh Program :
'PROGRAM MENGISI DATA KE FILE SISWA.DAT OPEN "SISWA.DAT" FOR APPEND AS #1 DO PRINT "DATA SISWA KE -";I INPUT "NO.INDUK :",NOINDUK$ IF NOINDUK$ <> "" THEN INPUT "NAMA :",NAMA$ INPUT "TEORI :",TEORI INPUT "PRAKTEK :",PRAKTEK WRITE #1,NOINDUK$,NAMA$,TEORI ENDIF LOOP UNTIL NOINDUK$ = "" CLOSE #1 END 'PROGRAM BACA DATA DARI SISWA.DAT DAN MENCETAK KE LAYAR CLS OPEN "SISWA.DAT" FOR INPUT AS #1 PRINT "-------------------------------------------------------------------" PRINT "NO.INDUK NAMA TEORI PRAKTEK RATA-RATA LULUS " PRINT "-------------------------------------------------------------------" POLA$="\ \ \ \ ###.## ###.## ###.## \ \ " VIEW PRINT 4 TO 23 WHILE NOT EOF(1) INPUT #1, NO_INDUK$,NAMA$,TEORI,PRAKTEK RATA = (TEORI+PRAKTEK)/2 IF RATA < 60 THEN LULUS$="TIDAK" ELSE LULUS$ = "YA" ENDIF PRINT USING POLA$;NO_INDUK$;NAMA$;TEORI;PRAKTEK;RATA;LULUS$ WEND
CLOSE #1 END