Anda di halaman 1dari 30

PROPOSAL FINAL PROJECT

ALGORITMA DAN STRUKTUR DATA


SEMESTER Genap Tahun Akademik 2016
Sistem Informasi Perbankan

Oleh :
Eki Darmawan Prakoso
(151080200153)
Wisnu Aji
(151080200199)

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH SIDOARJO
2016

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

DAFTAR ISI
I. LATAR BELAKANG PENENTUAN SISTEM INFORMASI 4
II.

ARRAY..................................................................5
2.1

DASAR TEORI................................................5

2.2

IMPLEMENTASI ARRAY....................................7

2.3

CODE.............................................................7

III.

SORTING...........................................................9

3.1

DASAR TEORI................................................9

3.2

IMPLEMENTASI SORTING..............................10

3.3

CODE...........................................................11

IV.

STRING...........................................................12

4.1

DASAR TEORI..............................................12

4.2

IMPLEMENTASI STRING................................13

4.3

CODE...........................................................13

V.

LINKED LIST........................................................15
5.1

DASAR TEORI..............................................15

5.2

IMPLEMENTASI.............................................17

5.3

CODE...........................................................17

VI.

STACK.............................................................19

6.1

DASAR TEORI..............................................19

6.2

IMPLEMENTASI.............................................20

6.3

CODE...........................................................21

VII.
7.1

QUEUE............................................................23
DASAR TEORI..............................................23
2

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo
7.2

IMPLEMENTASI.............................................23

7.3

CODE...........................................................24

VIII.

GRAPH............................................................24

8.1

DASAR TEORI..............................................24

8.2

IMPLEMENTASI.............................................24

8.3

CODE...........................................................24

IX.

TREE...............................................................24

9.1

DASAR TEORI..............................................24

9.2

IMPLEMENTASI.............................................25

9.3

CODE...........................................................25

X.

JADWAL PENGERJAAN DAN PEMBAGIAN TUGAS. .26


10.1

Jadwal pengerjaan aplikasi..........................26

10.2

Pembagian tugas.........................................26

XI.

REFERENSI......Error! Bookmark not defined.

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

I.

LATAR BELAKANG PENENTUAN SISTEM


INFORMASI
Informasi merupakan salah satu hal yang harus
dipenuhi oleh umat manusia, karena informasi
merupakan suatu kebutuhan primer. Tanpa sebuah
informasi
seseorang
akan
mengalami
keterbelakangan ataupun gagap teknologi.
Di zaman modern ini kemajuan alat komunikasi
dapat mempermudah perolehan informasi dari
berbagai sumber untuk berbagai kebutuhan, itulah
sebabnya sangat dirasakan pentingnya mengelolah
informasi
secara
terintegrasi
pada
setiap
perusahaan perbankan. Oleh karena itu fokus
utama dari sistem informasi perbankan adalah
bagaimana mengelolah informasi sebaik-baiknya
agar dapat menjadi alat pembantu bagi setiap
pihak dalam memanajemen pekerjaannya.

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

II.

ARRAY
II.1

DASAR TEORI

Array adalah kumpulan dari nilai-nilai data


bertipe sama dalam urutan tertentu yang
menggunakan sebuah nama yang sama. Nilainilai data di suatu array disebut dengan
elemen-elemen array.
Letak urutan dari
elemen-elemen array ditunjukkan oleh suatu
indeks.
Array bisa berupa array berdimensi satu, dua,
tiga atau lebih. Array berdimensi mewakili
bentuk suatu vektor. Array berdimensi dua
mewakili bentuk dari suatu matriks atau tabel.
Array berdimensi tiga mewakili bentuk suatu
ruang. (Yuliana, Lecturer Pens, 2014)
ARRAY BERDIMENSI SATU
Suatu array berdimensi satu dideklarasikan
dalam bentuk umum berupa :
tipe_data nama_var[ukuran];
dengan :
tipe_data : untuk menyatakan tipe dari
elemen array, misalnya int, char, float.
nama_var : nama variabel array
ukuran : untuk menyatakan jumlah
maksimal elemen array.
Contoh pendeklarasian array :
float nilai_tes[5];

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo
menyatakan
bahwa
array
mengandung 5 elemen bertipe float.

nilai_tes

ARRAY BERDIMENSI DUA


Array berdimensi satu dapat disimpan pada
sebuah array berdimensi dua.
Pendeklarasian array berdimensi dua adalah
sebagai berikut:
int data_lulus[4][3];
Nilai 4 untuk menyatakan banyaknya baris dan
3 menyatakan banyaknya kolom. Gambar
10.1 memberikan ilustrasi untuk memudahkan
pemahaman tentang array berdimensi dua.

Sama halnya pada array berdimensi satu, data


array akan ditempatkan pada memori yang
berurutan. Perhatikan Gambar 10.2.

Gambar 10.2 Model penyimpanan


dimensi dua pada memori
ARRAY BERDIMENSI BANYAK.

array

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo
C memungkinkan untuk membuat array yang
dimensinya lebih dari dua. Bentuk umum
pendeklarasian array berdimensi banyak :
tipe
nama_var[ukuran
[ukuranN];

1][ukuran2}

sebagai contoh :
int data_huruf[2][8][8];
merupakan pendeklarasian array data_huruf
sebagai array berdimensi tiga.

II.2

IMPLEMENTASI ARRAY

Implementasi Array pada Sistem informasi


Perbankan dapat digunakan oleh Teller untuk
memasukkan data tanggal lahir nasabah baru.
Desain implementasi :

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

II.3

CODE

Pada penerapan code ini menggunakan array


dengan satu dimensi.

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

III.

SORTING
III.1

DASAR TEORI

Bubble sort (metode gelembung) adalah


metode/ algoritma pengurutan dengan dengan
cara melakukan penukaran data dengan tepat
disebelahnya secara terus menerus sampai bisa
dipastikan dalam satu iterasi tertentu tidak ada
lagi perubahan. Jika tidak ada perubahan berarti
data sudah terurut. Disebut pengurutan
gelembung karena masing-masing kunci akan
dengan lambat menggelembung ke posisinya
yang tepat.
Metode pengurutan gelembung (Bubble Sort)
diinspirasikan
oleh
gelembung sabun yang
berada dipermukaan air. Karena berat jenis
gelembung sabun lebih ringan daripada berat
jenis air, maka gelembung sabun selalu
terapung ke atas permukaan. Prinsip di atas
dipakai pada pengurutan gelembung.
Algoritma bubble sort adalah salah satu
algoritma pengurutan yang paling simple, baik
dalam hal pengertian maupun penerapannya.
Ide dari algoritma ini adalah mengulang proses
pembandingan antara tiap-tiap elemen array
dan menukarnya apabila urutannya salah.
Pembandingan elemen-elemen ini akan terus
diulang hingga tidak perlu dilakukan penukaran
lagi. Algoritma ini termasuk dalam golongan
algoritma
comparison
sort,
karena
menggunakan perbandingan dalam operasi
antar elemennya. Berikut ini adalah gambaran
dari algoritma bubble sort. Misalkan
kita
mempunyai
sebuah array dengan. Elemenelemen 4 2 5 3 9. Proses yang akan terjadi
9

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo
apabila digunakan algoritma bubble sort adalah
sebagai berikut.
Proses pertama
(4 2 5 3 9) menjadi
(2 4 5 3 9) menjadi
(2 4 5 3 9) menjadi
(2 4 3 5 9) menjadi
Proses kedua
(2 4 3 5 9) menjadi
(2 4 3 5 9) menjadi
(2 3 4 5 9) menjadi
(2 3 4 5 9) menjadi
Proses ketiga
(2 3 4 5 9) menjadi
(2 3 4 5 9) menjadi
(2 3 4 5 9) menjadi
(2 3 4 5 9) menjadi

(2
(2
(2
(2

4
4
4
4

5
5
3
3

3
3
5
5

9)
9)
9)
9)

(2
(2
(2
(2

4
3
3
3

3
4
4
4

5
5
5
5

9)
9)
9)
9)

(2
(2
(2
(2

3
3
3
3

4
4
4
4

5
5
5
5

9)
9)
9)
9)

Dapat dilihat pada proses di atas, sebenarnya


pada pass kedua, langkah kedua, array telah
terurut. Namun algoritma tetap dilanjutkan
hingga pass kedua berakhir. Pass ketiga
dilakukan
karena definisi terurut dalam
algoritma bubble sort adalah tidak ada satupun
penukaran pada suatu pass, sehingga pass
ketiga dibutuhkan
untuk memverifikasi urutan
array tersebut.

III.2

IMPLEMENTASI SORTING

Implementasi Sorting pada Sistem informasi


Perbankan dapat digunakan oleh Admin untuk
menentukan pemenang award saldo tertinggi
atau nasabah dengan frekuensi transfer
terbanyak. Berikut desain implementasinya :
10

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

III.3

CODE

Pada penerapan code ini menggunakan sorting


dengan metode bubble sort.

11

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

12

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

IV.

STRING
IV.1

DASAR TEORI

String merupakan bentuk data yang biasa


dipakai dalam bahasa pemrograman untuk
keperluan menampung dan memanipulasi data
teks, misalnya untuk menampung (menyimpan)
suatu kalimat. Pada bahasa C, string bukanlah
merupakan tipe data tersendiri, melainkan
hanyalah kumpulan dari nilai-nilai karakter yang
berurutan dalam bentuk array berdimensi satu.
(Yuliana, Lecturer Pens, 2014)
Konstanta String
Suatu konstanta string ditulis dengan diawali
dan diakhiri tanda petik ganda, misalnya:
ABCDE
Nilai string ini disimpan dalam memori secara
berurutan dengan komposisi sebagai berikut:

Setiap karakter akan menempati memori


sebesar 1 byte. Byte terakhir otomatis akan
berisi karakter NULL (\0). Dengan mengetahui
bahwa suatu string diakhiri nilai NULL, maka
akhir dari nilai suatu string akan dapat dideteksi.
Sebagai sebuah array karakter, karakter
pertama dari nilai string mempunyai indeks ke0, karakter kedua mempunyai indeks ke-1, dan
seterusnya.

13

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo
Variabel String
Variabel string adalah variabel yang dipakai utuk
menyimpan nilai string. Misalnya :
char name[15];
Merupakan instruksi untuk mendeklarasikan
variabel string dengan panjang maksimal 15
karakter (termasuk karakter NULL). Deklarasi
tersebut sebenarnya tidak lain merupakan
deklarasi array bertipe char.

IV.2

IMPLEMENTASI STRING

Implementasi String pada sistem informasi


perbankan dapat digunakan untuk memasukkan
data nama nasabah baru. Berikut adalah contoh
desain implementasinya:

IV.3

CODE

Pada
penerapan
code
ini
menggunakan
STRCAT() untuk menggabungkan nama depan
dan belakang.

14

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

15

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

V.

LINKED LIST
V.1

DASAR TEORI

POINTER
Misalnya kita ingin membuat beberapa penunjuk
ke blok penyimpan yang berisi integer.
Deklarasi pada C adalah:
int *IntegerPointer;
Tanda asterik (*) yang berada sebelum nama
variable IntegerPointer menandakan pointer
pada suatu int. Jadi deklarasi diatas berarti
definisikan sebuah tipe yang terdiri dari pointer
bertipe integer yang bernama IntegerPointer.
Apabila
didepannya
ditambahkan
typedef
sebagai berikut
typedef int *IntegerPointer;
Berarti
IntegerPointer merupakan suatu tipe
pointer berbentuk integer.
Apabila akan mendeklarasikan dua variable A
dan B sebagai penunjuk ke bilangan integer :
IntegerPointer A, B;
Berarti kompiler C akan berisi nilai dari variable
A dan B yang menunjuk ke integer.
Untuk
membuat
beberapa
penunjuk
ke
beberapa penyimpan integer yang kosong dan
untuk membuat A dan B menunjuk tempat
tersebut, digunakan prosedur dinamis untuk
alokasi penyimpan yang disebut malloc
A = (IntegerPointer *) malloc (sizeof(int));
A:

16

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

B= (int *) malloc (sizeof(int));


A:

B:
Misalnya kita akan menyimpan integer 5 pada
blok penyimpan yang ditunjuk pointer pada
variable A. Untuk menuimpan angka 5 pada
blok penyimpan integer itu melalui pointer A,
digunakan pernyataan :
*A = 5;
A:

B:
LINKED LIST
Linked list adalah salah satu struktur data yang
paling fundamental.
Linked list terdiri dari
sejumlah kelompok elemen (linked) dengan
urutan tertentu.
Linked list sangat berguna
untuk memelihara sekelompok data, semacam
array, tetapi linked list lebih menguntungkan
dalam beberapa kasus. Linked list lebih efisien
dalam proses penyisipan (insertion) dan
17

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo
penghapusan (deletion).
Linked list juga
menggunakan pengalokasian penyimpan secara
dinamis, dimana penyimpan dialokasikan pada
saat waktu berjalan (runtime).

V.2

IMPLEMENTASI

Implementasi Linked List pada sistem informasi


perbankan dapat digunakan untuk memasukkan,
mengubah, menghapus dan mencari data
nasabah.
Berikut
adalah
contoh
desain
implementasinya:

V.3

CODE

Berikut source code linklist untuk memasukkan


data tanggal lahir nasabah.

18

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

Dan berikut adalah outputnya.

19

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

20

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

VI.

STACK
VI.1

DASAR TEORI

Salah
satu
konsep
yang
efektif
untuk
menyimpan dan mengambil data adalah
"terakhir masuk sebagai yang pertama keluar"
(Last In First Out / LIFO). Dengan konsep ini,
pengambilan data akan berkebalikan urutannya
dengan penyimpanan data.
Stack adalah sebuah kumpulan data dimana
data yang diletakkan di atas data yang lain.
Dengan demikian stack adalah struktur data
yang menggunakan konsep LIFO.
Dengan
demikian, elemen terakhir yang disimpan dalam
stack menjadi elemen pertama yang diambil.
Dalam proses komputasi, untuk meletakkan
sebuah elemen pada bagian atas dari stack,
maka kita melakukan push. Dan untuk
memindahkan dari tempat yang atas tersebut,
kita melakukan pop.
Untuk menjelaskan pengertian diatas kita
mengambil contoh sebagai berikut. Misalnya kita
mempunyai dua buah kotak yang kita tumpuk,
sehingga kotak kita letakkan di atas kotak yang
lain. Jika kemudian stack dua buah kotak
tersebut kita tambah dengan kotak ketiga dan
seterusnya, maka akan kita peroleh sebuah
stack kotak, yang terdiri dari N kotak.
Secara sederhana, sebuah stack bisa kita
ilustrasikan seperti pada gambar 4.1 di bawah
ini. Dari gambar di bawah ini, kita bisa
mengatakan bahwa kotak B ada di atas kotak A
dan ada di bawah kotak C. Dari gambar tersebut
kita dapat melihat bahwa kita hanya bisa
menambah atau mengambil sebuah kotak lewat
21

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo
satu ujung, yaitu ujung bagian atas. Nampak
pula bahwa stack merupakan kumpulan data
yang sifatnya dinamis, artinya kita bisa
menambah atau mengambil data darinya.

VI.2

IMPLEMENTASI

Implementasi stack dalam sistem informasi


perbankan dapat digunakan untuk memasukkan
data transaksi nasabah, berikut adalah contoh
implementasinya.

22

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

VI.3

CODE

Berikut adalah source code stack menggunakan


linklist untuk memasukkan data tabungan
nasabah.

23

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

Dan berikut adalah outputnya.

24

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

VII.QUEUE
VII.1

DASAR TEORI

Karakteristik yang membedakan queue (antrian)


dari stack adalah cara menyimpan dan
mengambil data dengan struktur first in first out
(FIFO). Hal ini berarti elemen pertama yang
ditempatkan pada queue adalah yang pertama
dipindahkan.
Contoh
yang
paling
populer
untuk
membayangkan sebuah queue adalah antrian
pada kasir sebuah bank.
Ketika seorang
pelanggan datang, akan menuju ke belakang
dari antrian. Setelah pelanggan dilayani, antrian
yang berada di depan akan maju. Pada saat
menempatkan elemen pada ujung (tail) dari
queue disebut dengan enqueue, pada saat
memindahkan elemen dari kepala (head) sebuah
queue disebut dengan dequeue.

VII.2

IMPLEMENTASI

Implementasi queue dalam sistem informasi


perbankan dapat digunakan dalam sistem
informasi pegawai call center, dimana penelfon
25

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo
harus mengantri untuk mendapat jawaban dari
call center, berikut contoh implementasinya.

VII.3
VIII.

IX.

CODE

GRAPH

VIII.1

DASAR TEORI

VIII.2

IMPLEMENTASI

VIII.3

CODE

TREE
IX.1

DASAR TEORI

Dalam bab ini kita akan mempelajari satu


bentuk struktur data tak linier yang mempunyai
sifat-sifat khusus, yang dinamakan pohon (tree).
Struktur
ini
biasanya
digunakan
untuk
menggambarkan
hubungan
yang
bersifat
hirarkis antara elemen-elemen yang ada.
Silsilah keluarga, hasil pertandingan yang
berbentuk turnamen, atau struktur organisasi
dari sebuah perusahaan adalah contoh dalam
26

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo
organisasi tree. Dalam pemrograman, sebuah
pohon
terdiri
dari
elemen-elemen
yang
dinamakan node(simpul) yang mana hubungan
antar simpul bersifat hirarki. Simpul yang paling
atas dari hirarki dinamakan root. Simpul yang
berada di bawah root secara langsung,
dinamakan anak dari root, yang mana biasanya
juga mempunyai anak di bawahnya. Sehingga
bisa disimpulkan, kecuali root, masing-masing
simpul dalam hirarki mempunyai satu induk
(parent).
Jumlah anak sebuah simpul induk sangat
bergantung pada jenis dari pohon. Jumlah anak
dari simpul induk ini dinamakan faktor
percabangan.

IX.2

IMPLEMENTASI

IX.3

CODE

27

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

X.

JADWAL PENGERJAAN DAN


PEMBAGIAN TUGAS
X.1

Jadwal pengerjaan aplikasi


23
Me
i

Nama Sub Bab

24
Me
i

13
Jun
i

Array & Sorting


String & Linked List
Stack & Queue
Graph & Tree

X.2

Pembagian tugas

Penjelasan Tugas
Dasar Teori Array
Implementasi Array
Code Array
Dasar Teori Sorting
Implementasi Sorting
Code Sorting
Dasar Teori String
Implementasi String
Code String
Dasar Teori Linked List
Implementasi Linked
List
Code Linked List
Dasar Teori Stack
Implementasi Stack
Code Stack
Dasar Teori Queue
28

Nama
Wisnu
Eki
Wisnu
Wisnu
Eki
Eki
Wisnu
Eki
Wisnu
Wisnu
Eki
Eki
Wisnu
Eki
Eki
Wisnu

14
Jun
i

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo
Implementasi Queue
Code Queue
Dasar Teori Tree
Implementasi Tree
Code Tree

Eki
Eki
Wisnu
Eki
Eki

29

PRAKTIKUM ALGORITMA & STRUKTUR DATA


2016
Program Studi Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Sidoarjo

XI.

REFERENSI

Yuliana. (2014, September 4). Lecturer Pens. Diambil


kembali dari Pens:
http://yuliana.lecturer.pens.ac.id/Struktur
%20Data/PRAKTIKUM/Praktikum%201%20%20Array.pdf
Yuliana. (2014, September 04). Lecturer Pens. Diambil
kembali dari Pens:
http://yuliana.lecturer.pens.ac.id/Struktur
%20Data/PRAKTIKUM/Praktikum%209%20%20Sorting%20Insertion.pdf
Yuliana. (2014, September 04). Pens Lecturer. Diambil
kembali dari Pens:
http://yuliana.lecturer.pens.ac.id/Struktur
%20Data/PRAKTIKUM/Praktikum%20Stack.pdf

30

Anda mungkin juga menyukai