Puji Syukur khadirat Allah Yang Maha Kuasa karena atas Rahmat dan Hidayah-
Nyalah kami dapat menyelesaikan Tugas Akhir Semester ini. Jurnal ini berisi tentang
Pembelajaran mengenai Struktur Data. Tentunya kami sangat berharap Makalah ini dapat
berguna bagi siapapun yang membacanya.
Masih banyak kekurangan dalam makalah ini . Selain itu dalam penyusunan tugas
atau materi ini, tidak sedikit hambatan yang penulis hadapi. Namun penulis menyadari bahwa
kelancaran dalam penyusunan materi ini tidak lain berkat bantuan, dorongan dan bimbingan
orang tua, sehingga kendala-kendala yang penulis hadapi teratasi.
Bangkinang, 2022
Penyusun
1
DAFTAR ISI
KATA PENGANTAR..........................................................................................................................i
DAFTAR ISI........................................................................................................................................ii
BAB I PENDAHULUAN....................................................................................................................1
A. LATAR BELAKANG..............................................................................................................1
BAB II2 TIPE DATA............................................................................................................................
A. JENIS-JENIS TIPE DATA.....................................................................................................2
B. TIPE SEDERHANA (SIMPLE TYPE)..................................................................................2
C. JENIS DATA NON-STANDARD (USER DEFINED)..........................................................6
D. TIPE STRUKTUR...................................................................................................................7
E. TIPE DATA POINTER.........................................................................................................20
DAFTAR PUSTAKA........................................................................................................................22
2
BAB I
PENDAHULUAN
A. LATAR BELAKANG
3
BAB II
TIPE DATA
4
a. Merupakan himpunan berurutan(Ordered set) dan setiap nilai berkaitan dengan
ordinalitasnya, yaitu nilai integral. Dalam semua tipe data kecuali integer, nilai
pertama mempunyai ordinalitas = 0, 1 dan seterusnya. Semua nilai kecuali pada
character yang pertama mempunyai nilai pendahulu dan semua nilai kecuali
character terakhir tidak mempunyai nilai penerus.
b. Fungsi standar ORD atau ordinalitasnya dapat diterapkan pada sembarang tipe
ordinal untuk mengetahui ordinalitasnya.
c. Fungsi standar PRED atau Predecessor dapat diterpkan untuk mengetahui
pendahulunya.. Jika diterapkan pada nilai pertama akan menyebabkan error
d. Fungsi standar SUCC atau successor dapat diterapkan untuk mengetahui nilai
penerusnya. Jika diterapkan pada nilai akhir akan menyebabkan Error. Turbo
pascal memiliki tujuh tipe ordinal standar, yaitu: integer, long int, byte, word,
boolena dan character. Ada pula tipe ordinal yang dapat didefinisikan sendiri
oleh user yaitu tipe subrange, enumerated.
2. Tipe Integer
Adalah tipe data yang nilainya tidak memiliki titik desimal. Dalam bahasa
pemrograman pascal hanya digit yang bisa muncul sebagai integer, tidak boleh ada
character lain termasuk koma kecuali + dan -. Adal lima tipe data yang termasuk
dalam kelompok ini, yaitu integer, short int, long int, bute dan word.
5
3. Tipe Real
Adalah suatu bilangan yang berisi titik desimal. Dalam bahasa pemrograman
pascal minimal harus ada satu digit sebelum titik desimal. Tidak boleh ada koma dan
nilainya bisa positif atau negatif. Dapat dinyatakan dalam bentuk eksponsial dengan
notasi E,sebagai contoh: 0.00017543 adalah 1.7543E-4. Terdapat 5 macam data pada
tipe real, yaitu: real, single, double, extended dan comp.
Operator matematika yang digunakan adalah +, -, *, /
Penggunaan tipe data real ini adalah dalam perhitungan matematika, sains
dimana derajat ketelitian sangat diperhatikan.
Contoh :
123.45
12345. salah, titik desimal tidak boleh dibelakang
12E5
12E+5
-12.34
.1234 salah, titik desimal tidak boleh dimuka
Pada TURBO PASCAL, jenis data ini dibedakan ( lihat tabel 2.)
Jenis data Real
Tipe Ukuran memori Jangkauan nilai Digit signifikan
(dalam byte)
SINGLE 4 1.5x10E-45 .. 3.4x10E38 7-8
DOUBLE 8 5.0x10E-324 .. 1.7x10E308 15-16
EXTENDED 10 1.9x10E-4951 .. 1.1x10E4932 19-20
COMP 8 -2E+63+1 .. 2E+63-1 19-20
Operator untuk jenis data ini terdiri atas : + , - , * dan /
4. Tipe Char
Kata char disini digunakan untuk mendefinisikan tipe data yang nilainya
merupakan himpunan karakter yang dikenal komputer seperti dalamtabel ASCII.
Dalam program pascal, nilai data tipe char ditulis diantara tanda petik,
misalnya „F‟ „A‟ „U‟ „Z‟ „I‟ „15‟ ‟12, dan perlu diingat bahwa data tipe char
hanya terdiri dari 1 karakter seperti ‟TRY MERSIANTO‟ yang merupakan tipe
6
data char yang lebih kompleks sehingga disebut dengan string. Ada enpat fungsi
yang telah didefinisikan dapat digunakan untuk memanipulasi data tipe char, yaitu:
Fungsi ordinal,ord(kar), dan kar adalah adalah data tipe char yang nilai ord(kar)
adalah angka urutan dalam kode ASCII yang digunakan untuk melambangkan
karakter tersebut. Sebagai contoh ord(„A‟) adalah 65.
Fungsi karakter, chr(I) dengan I bilangan bulat positif, merupakan kebalikan
dari fungsi ord. Nilai yan diperoleh merupakan karakter ASCII yang dinyatakan
dengan urutan ke I, contohnya: chr(65) adalah „A‟
Fungsi pendahulu, pred(kar), dengan Kar adalah data tipe char dimana nilai
pred(kar) adalah karakter yang dalam urutannya mendahului kar.
Contoh:pred(„B‟) adalah „A‟
Fungsi penerus, succ(kar) dengan nilai succ(kar) adalah karakter yang
048
0 076
L dsb
5. Tipe Boolean
Adalah nilai data yang sangat penting untuk pengambilan suatu keputusan
dalam suatu program karena pada tipe ini data akan mempunya dua nilai, yaitu benar
dan salah. Operator yang digunakan adalah AND, OR atau NOT.
Jenis data ini mempunyai nilai TRUE atau FALSE.
Operator untuk jenis data ini adalah :
Logical Operator, yaitu : NOT, AND dan OR
Relational Operator, yaitu : >, <, >=, <=, <> dan =
7
C. JENIS DATA NON-STANDARD (USER DEFINED)
1. Enumerated
Jenis data ini terdiri atas barisan identifier yang terurut dimana setiap
identifier tersebut dianggap sebagai suatu individual data item (elemen data yang
berdiri sendiri).Pada saat mendeklarasikan jenis data ini kita harus menuliskan
semua elemenelemennya.
Bentuk umum deklarasinya adalah :
TYPE nama = (data_item_1, data_item_2, ……., data_item_n); Contoh :
TYPE hari = (sen,sel,rab,kam,jum,sab,ming);
TYPE warna = (red,blue,green,yellow,black,white);
Setelah jenis data ini dideklarasikan, maka selanjutnya kita dapat
mendeklarasikan suatu variabel yang berjenis data sama dengan jenis data ini.
Misalnya :
TYPE nama_hari = (sen,sel,rab,kam,jum,sab,ming);
VAR libur : nama_hari;
Fungsi standar yang dapat digunakan pada jenis data ini adalah :
PRED, SUCC dan ORD
Misalnya :
PRED (sel) = sen
SUCC (sen) = sel
ORD (sen) = 0
ORD (sel) = 1
dsb
2. Sub-range
Jenis data ini berupa range dari suatu kumpulan data yang mempunyai urutan..
Bentuk umum deklarasinya adalah :
TYPE nama = data_item_pertama .. data_item_terakhir;
8
Contoh :
TYPE
jam_kuliah = 1 .. 10; tanggal = 1 .. 31; abjad = „A‟ .. „Z‟;
D. TIPE STRUKTUR
Pada tipe ini setiap perubah dapat menyimpan lebih dari sebuah nilai data
yang masing-masing nilai data disebut komponen. Karakteristik tipe data terstruktur
ini adalah ditentukan berdasarkan cara penstrukturan dan tipe masingmasing
komponen. Ukuran tipe terstruktur dalam bahasa pemrograman Turbo Pascal
maksimum 65520 byte. Pada tipe ini terdapat empat buah tipe data terstruktur, yaitu
larik, rekaman, himpunan, dan berkas
1. Tipe Array
Adalah tipe terstruktur yang mempunyai komponen dalam jumlah yang
tetap dan setiap komponen mempunyai tipe data yang sama. Posisi masing-masing
komponen dalam larik dinyatakan sebagai nomorindex. Deklarasi Larik "array"
Ditulis diantara tanda “[ ]” dikuti dengan tipe data dari nama larik .
Nama_array [subscript]
Contoh = float nilai [10];
Nama array = nilai
Menyimpan 10 buah data bertipe float.
Penomoran array secara default dimulai dari subscript 0 , bukan 1.
Tipe data yang digunakan pada array
Dapat berupa tipe data dasar , tipe data terstruktur .
9
Pemberian Nilai Awal contoh :
int angka [10]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Pendefinisian array bertipe angka yang terdiri 12 elemen bertipe data int . Atau
int angka [ ]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Secara otomatis kompiler akan menghitungnya sendiri
CONTOH PROGRAM
#include <stdio.h>
#incluade <conio.h>
#include <math.h>
void main()
int N,I;
printf ("\n");
for(I=0;I<N;I++)
Total = Total+angka[I];
for(I=0;I<N;I++)
Rerata=Total/N;
10
/* Tampilkan Hasilnya*/
getch();
}
2. Tipe Record
Selain array, bahasa pemrograman Pascal juga menyediakan tipe data
terstruktur lain yang disebut dengan record. Kita mempergunakan tipe data record
jika dalam sebuah komponen data, kita membutuhkan lebih dari sebuah tipe data.
Misalnya, data seorang mahasiswa bisa terdiri dari NIM, Nama dan IPK. Untuk
mendeklarasikan variabel bertipe data record yang bisa menyimpan data 100
mahasiswa, instruksi yang kita pergunakan adalah: type
TMahasiswa = record
NIM : longint;
Nama : string; IPK : real; end;
var
ArsipMahasiswa : array[1..100] of TMahasiswa;
Untuk mengisi data dari masing-masing mahasiswa, kita bisa
mempergunakan instruksi:
ArsipMahasiswa[1].NIM := 123456;
ArsipMahasiswa[1].Nama := 'Adi';
ArsipMahasiswa[1].IPK := 3.25;
ArsipMahasiswa[2].NIM := 123567;
ArsipMahasiswa[2].Nama := 'Budi';
ArsipMahasiswa[2].IPK := 2.75;
11
Jika kita ingin menampilkan data dari seluruh mahasiswa yang terdapat
dalam array ArsipMahasiswa, algoritma yang kita pergunakan adalah sebagai
berikut:
for i:= 1 to 100 do begin writeln('Mahasiswa ',i,':'); writeln('NIM : ',
ArsipMahasiswa[i].NIM); writeln('Nama : ', ArsipMahasiswa[i].Nama);
writeln('IPK : ', ArsipMahasiswa[i].IPK:1:2); writeln; end;
Jika kita mengelola data mahasiswa dalam contoh di atas dengan
menggunakan tipe data array semata-mata, maka variabel yang dibutuhkan akan
dideklarasikan sebagai berikut:
{ DEKLARASI VARIABEL YANG DIBUTUHKAN JIKA DATA
MAHASISWA SEMATA-MATA DIKELOLA DENGAN MENGGUNAKAN
ARRAY }
type
TMahasiswaNIM : array[1..100] of longint;
TMahasiswaNama : array[1..100] of string; TMahasiswaIPK : array[1..100]
of real; var
MahasiswaNIM : TMahasiswaNIM;
MahasiswaNama : TMahasiswaNama;
MahasiswaIPK : TMahasiswaIPK;
Jika kita ingin mengirimkan data seluruh mahasiswa ke dalam sebuah
fungsi atau prosedur untuk diolah, maka kita harus mendeklarasikan fungsi tersebut
dengan menyertakan seluruh variabel array sebagai parameternya. Misalnya
prosedur untuk menampilkan data Nama dan IPK mahasiswa yang memiliki NIM
tertentu, akan dideklarasikan sebagai berikut:
12
{ INSTRUKSI PEMANGGILAN PROSEDUR YANG DIBUTUHKAN JIKA
DATA MAHASISWA SEMATA-MATA DIKELOLA DENGAN ARRAY }
TampilkanMahasiswa(12345678, MahasiswaNama, MahasiswaIPK);
Dalam contoh di atas, struktur data mahasiswa hanya terdiri dari 3
komponen. Padahal dalam sistem informasi akademis sebuah Universitas,
komponennya pasti jauh lebih banyak dari 3 jenis. Betapa panjang panjangnya
deklarasi prosedur yang harus dibuat dan betapa panjangnya instruksi pemanggilan
prosedur yang harus diketikkan. Instruksi pemanggilan prosedur juga menjadi
rentan terhadap terjadinya kesalahan, mengingat urut-urutan argumen pemanggilan
prosedur harus sama persis dengan urut-urutan argumen prosedur yang
dideklarasikan.
Jika pemanggilan fungsi atau prosedur dilakukan dengan menggunakan tipe
data record, maka pekerjaan untuk menuliskan argumen menjadi jauh lebih ringan,
sehingga memperkecil kemungkinan terjadinya kesalahan. Agar bisa menjadi
parameter sebuah fungsi atau prosedur, kita terlebih dahulu harus mendeklarasikan
sebuah type yang mewakili array dari variabel bertipe record:
13
procedure TampilkanMahasiswa ( NIM: longint; var ArsipMhs :
TArsipMahasiswa);
3. Tipe Set
Set adalah kumpulan dari nilai-nilai yang memiliki kesamaan sifat, yaitu
tipe data yang sama dan urutan penulisannya tidak diperhatikan. Setiap obyek
dalam himpunan disebut dengan anggota atau elemen himpunan. Contoh :
1. Huruf vokal dalam alfabet
2. kendaraan bermotor
3. binatang menyusui
4. bilangan genap 1 sampai 100
5. dan sebagainya
14
Set termasuk ke dalam tipe data terstruktur, terdiri dari sejumlah elemen yang
bertipe sama dan harus bertipe data ordinal yang memiliki nilai terletak antara 0
sampai 255. Berbeda dengan tipe data array, tipe data SET tidak mengenal elemen
pertama, elemen kedua dan seterusnya. Pada tipe data SET tidak terdapat elemen yang
bernilai sama.
Mendeklarasikan SET
(Himpunan)
Dapat dideklarasikan dalam deklarasi tipe data :
Type variabel_set = SET OF tipe_data;
Dapat pula dideklarasikan dalam deklarasi var data :
Var variabel_set = SET OF tipe_data; Contoh : Type
kata = set of char; {tipe dasar} huruf besar =„A‟..‟Z‟; {subrange}
Perintah = set of hurufbesar ;
Hari = (senin,selasa,rabu,kamis,jumat,sabtu,minggu); {enumerasi}
Hari2 = set of Hari;
Pilihan = set of 1..7 {subrange dalam bentuk bilangan};
Var
hurufkecil : set of „a‟..‟z‟;
kapital : hurufbesar; hariseminggu : hari2;
Kalimat : kata;
Dalam keadaan awal, suatu variabel yang bertipe data SET belum terisi. Variabel
tersebut merupakan suatu variabel kosong, dinyatakan dengan tanda [ ].
Contoh program memberikan nilai untuk tipe data SET : Program SET1; type
Hari = (senin,selasa,rabu,kamis,jumat,sabtu,minggu); {enumerasi} Hari2 = set of
Hari; var hariseminggu:hari2; begin hariseminggu:=[selasa, kamis,sabtu]; end.
Operasi SET
(Himpunan)
Operasi Penjumlahan
Disebut juga operasi penggabungan (UNION), Operatornya (+).
Contoh :
A:= [„B‟,‟F‟,‟J‟,‟L‟];
15
A:= A + [„a‟,‟B‟,‟b‟,‟c‟,‟d‟,‟e‟,‟f‟,‟j‟,‟k‟,‟l‟]; maka nilai A sekarang adalah
[„B‟,‟F‟,‟J‟,‟L‟,„a‟,‟b‟,‟c‟,‟d‟,‟e‟,‟f‟,‟j‟,‟k‟,‟l‟]
Operasi Pengurangan
Disebut juga operasi selisih SET, operatornya (-).
Misal :
SET1 - SET2, menghasilkan elemen yang merupakan anggota SET1 yang
bukan anggota SET2.
Contoh :
A:=[1,2,3,4,5];
B:=[4,5,6,7];
W:=A-B;
Maka nilai W adalah [1,2,3]
Operasi Perkalian
Disebut juga operasi Intersection (irisan), operatornya (*).
Misal :
SET1 - SET2, menghasilkan elemen yang merupakan anggota SET1 dan
sekaligus merupakan anggota SET2.
Contoh :
1. A:=[1,2,3,4,5]; 2. D:=[1,2,3,4,5];
B:=[1,3,5,6,7];
C:=A*B;
Maka nilai C adalah [1,3,5]
Perbandingan dalam SET
(Himpunan)
16
> = Mempunyai anggota Bernilai TRUE, bila semua elemen dari himpunan 2
terdapat pada himpunan 1.
IN Terdapat di dalam Bernilai TRUE, bila elemen merupakan anggota
himpunan.
Contoh :
a. [3,4,5]=[4,5,3] hasil TRUE
b. [c,d]=[d,g,c] hasil FALSE
c. [2,4]< >[2,3] hasil TRUE
d. f in [„a‟..‟z‟] hasil TRUE
e. [2,1] < = [1,2,3] hasil TRUE
f. [5,6,7] > = [7,6] hasil TRUE
g. 3 in [4,5,3,2] hasil TRUE
h. [2,1] > = [1,2] hasil TRUE
17
writeln(„Masukkan suatu kalimat :‟); readlne (kalimat); for I:=1 to length(kalimat) do
begin if kalimat[i] in kapital then inc(jumlahk); if kalimat[i] in hidup then
inc(jumlahh); end;
writeln(„Jumlah kapital =„,jumlahk); writeln(„Jumlah huruf hidup =„,jumlahh); end.
Aplikasi Penggunaan SET dalam Program : Program bacakarakter; uses crt; type
karakter=set of char; var pilihan:char; function
bacakar(pesan:string;pilihansah:karakter):char; var ch:char; begin write(pesan); repeat
ch:=upcase(readkey); until(ch in pilihansah); writeln(ch); bacakar:=ch; end; {Program
utama} Begin clrscr;
repeat
Pilihan:=bacakar(„Anda :(T)ulis Halo, (B)el,(S)elesai‟,[„T‟,‟B‟,‟S‟]);
Case pilihan of
„T‟:writeln(„Hallo...‟);
„B‟:writeln(„bel‟+ #7);
„S‟:writeln(„Terimakasih‟); end;
Until pilihan =„S‟; end.
4. Tipe File
Seringkali pada program-program aplikasi untuk sistem informasi, data
perlu disimpan untuk keperluan penegelolaan lebih lanjut. Bila data yang perlu
disimpan mempunyai volume yang cukup besar, maka penggunaan variabel, larik,
atau pointer sudah tidak tepat lagi, karena variabel, larik, atau pointer
menggunakan memori internal komputer, sehingga tidak cukup untuk
menampungnya. Variabel, larik, dan pointer hanya tepat digunakan untuk
menyimpan data yang sedang digunakan untuk proses saja.
Untuk menyimpan data dengan volume yang besar harus digunakan cara
yang lain, yaitu dapat dengan menyimpannya di external memory yang relatif
mempunyai kapasitas penyimpanan lebih besar daripada internal memory serta
involatile (tidak hilang bila aliran listrik terputus, sehingga dapat menyimpan data
lebih permanen).
Data yang ada di external memory disimpan dalam bentuk file. File ini
dapat diibaratkan dengan map-map yang berisi dengan data di filling cabinet dan
filling cabinet itu sendiri dapat diibaratkan sebagai simpanan luarnya. Seperti
18
halnya filling cabinet yang dapat menyimpan beberapa map, demikian juga dengan
disk dapat menyimpan beberapa file.
Suatu file terdiri dari urutan komponen yang mempunyai tipe yang sama.
Berbeda dengan larik yang jumlah komponennya sudah pasti, jumlah komponen
dalam file sifatnya luwes, yaitu dapat ditambah dan dikurangi sewaktu-waktu.
Di dalam bahasa Pascal dikenal 3 macam tipe file, yaitu file teks (text file), file
bertipe (typed file), dan file tak bertipe (untyped file).
File Teks
File tekas merupakan file yang berisi karakter yang dibentuk dalam baris-baris
dan masing-masing baris dengan end-of-line marker berupa karakter carriage return
dan karakter line feed (CR/LF). Sedangkan akhir dari file ditunjukkan dengan karakter
Ctrl-Z.
19
Panjang dari tiap-tiap baris dari file teks dapat berbeda-beda, sehingga posisi
dari suatu baris tertentu dari file teks tidak dapat dihutung dan akibatnya file tekas
hanya dapat diakses secara urut.
File teks sebenarnya merupakan file dengan tipe Char, tetapi mempunyai
perbedaan, yaitu nilai yang bukan tipe Char dapat direkam dan dibaca oleh file teks.
Nilai yang bukan tipe Char ini akan secara otomatis dirubah ke atau dari tipe Char.
Deklarasi var
variabelFile : Text;
begin
…
end.
20
File Bertipe
Berbeda dengan file teks yang hanya dapat diakses secara urut, file bertipe
(typed file) disamping dapat juga diakses secara urut (sequential access), dapat juga
dikases secara acak (random access). Ini berarti komponen-komponen di dalam file
bertipe dapat dibaca atau direkam dari manapun di dalam file.
Dalam file bertipe, kita dapat menambahkan variabel terdefinisi dalam unit
standard System untuk menentukan kode akses file bertipe. Adapun kode aksesnya
adalah:
– read only
– write only
– read/write (default)
Deklarasi var
fileData : File of tipeData; begin
…
end.
tipeData dapat berupa integer, real, char, string, array, record, dan sebagainya.
21
Contoh Program:
Deklarasi
FileData : File;
Karena file tak bertipe tidak memandang tipe dan struktur filenya, maka file
tak bertipe ini sifatnya kompatibel dengan file apapun dan tepat digunakan untuk
operasi-operasi mengecek keberadaan suatu file di dalam disk, menghapus suatu file,
mengganti nama dari suatu file, menyalin suatu file, dan operasi-operasi lainnya yang
tidak langsung melibatkan operasi I/O.
Prosedur dan fungsi standard yang dapat digunakan di file bertipe dapat juga
digunakan di file tak bertipe, kecuali prosedur standard Read dan Write yang diganti
dengan prosedur standard BlockRead dan BlockWrite. Kedua prosedur ini digunakan
untuk transfer data dengan kecepatan tinggi.
BlockRead(var f:file;var buf;countword[;result:word]);
BlockWrite(var f:file;var buf;countword[;result:word]);
22
atau menyediakan tempat dalam memory untuk menyimpan nilai data tersebut. Dari
sini kita bisa melihat bahwa sebelum program dieksekusi, maka lokasi-lokasi data
dalam memory sudah ditentukan dan tidak dapat diubah selama program tersebut
dieksekusi.
Peubah-peubah yang demikian itu dinamakan sebagai Peubah Statis (Static
Variable).
Dari pengertian diatas kita perhatikan bahwa sesudah suatu lokasi pengingat
ditentukan untuk suatu nama peubah maka dalam program tersebut peubah yang
dimaksud akan tetap menempati lokasi yang telah ditentukan dan tidak mungkin
diubah. Dengan melihat pada sifat-sifat peubah statis maka bisa dikatakan bahwa
banyaknya data yang bisa diolah adalah sangat terbatas. Misalnya peubah dalam
bentuk Array yang dideklarasika sbb : Var matriks: array[1..100,1..100] of integer;
maka peubah tersebut hanya mampu menyimpan data sebanyak 100x100=10000 buah
data. Jika kita tetap nekat memasukkan data pada peubah tersebut setelah semua
ruangnya penuh maka eksekusi program akan terhenti dan muncul error
23
DAFTAR PUSTAKA
http://kuliah.ningyung.com/wp-content/uploads/2010/04/TIPE_DATA_POINTER1.doc
http://images.hendrykomsi.multiply.multiplycontent.com/attachment/0/
SEbEpAoKCqYA ACTSAzc1/TIPE%20DATA%20FILE.doc?
key=hendrykomsi:journal:3&nmid=99467600
http://images.redvego.multiply.multiplycontent.com/attachment/0/Scut@QoKCEEAAF
L9 3is1/AlgoritmaPemrograman2_modul_004 .doc?key=redvego:journal:2&nmid
=22361679
1
http://attachment.fbsbx.com/messaging_attachment.php?aid=c5e0b33ec495b1487c2d8
93139b97721&mid=id.479371598755811&uid=100000079198229&accid=100000079
1
98229&ext=1339691892&hash=AQDOOugMIKodTcKrmJe2eq4niUiqlnoCGbZpQfEG8o
YBMg
http://attachment.fbsbx.com/messaging_attachment.php?aid=c5e0b33ec495b1487c2d8
93139b97721 &mid=id.479371598755811&uid=100000079198229&accid
=1000000791
98229 &ext=1339691892&hash=AQDOOugMIKodTcKrmJe2eq4niUiqlnoCGbZpQfEG8o
YBMg
24