Anda di halaman 1dari 47

MAKALAH

Program

DOSEN : HAFID YOZA PUTRA, MT

KELOMPOK : 6

HANIFA ALWI [ 1811521011]

FEBBY PUTRI MILENIA PITER [ 1811522007 ]

AHMAD FAUZAN [ 1811522017 ]

DANIA CLARASINTA HANSEN [ 1811523009 ]

MATA KULIAH : DASAR – DASAR PEMROGRAMAN

Program Studi Sistem Informasi

Fakultas Teknologi Informasi

Universitas Andalas

2018
KATA PENGANTAR

Dengan menyebut nama Allah SWT yang Maha Pengasih lagi Maha
Panyayang, Kami panjatkan puja dan puji syukur atas kehadirat-Nya, Maha
Sempurna yang bahkan kesempurnaan-Nya melebihi kata sempurna itu sendiri,
yang telah melimpahkan rahmat, hidayah, dan inayah-Nya kepada kami, sehingga
kami dapat menyelesaikan Tugas Besar mata kuliah dasar pemrograman yang kami
beri judul “Our Level” .

Makalah ini telah kami susun dengan maksimal dan mendapatkan bantuan
dari berbagai pihak sehingga dapat memperlancar pembuatan makalah dan program
ini. Untuk itu kami menyampaikan terima kasih kepada semua pihak yang telah
berkontribusi dalam pembuatan tugas besar ini.

Terlepas dari semua itu, kami menyadari bahwa sebaik-baiknya manusia


masih jauh dari kesempurnaan. Masih ada kekurangan baik dari segi susunan
kalimat maupun tata bahasa. Oleh karena itu dengan tangan terbuka, kritik dan
saran dari berbagai pihak yang bersifat membangun agar makalah ini jauh lebih
baik lagi sangat kami harapkan.

Akhir kata, kami berharap semoga makalah dan program yang telah kami
selesaikan ini dapat menebar manfaat dan kita semua dapat mengambil pelajaran
dari tugas kami ini.

Padang, Desember 2018

Penyusun

II
DAFTAR ISI

KATA PENGANTAR ............................................................................................................................. II


DAFTAR ISI ........................................................................................................................................ III
DAFTAR GAMBAR ............................................................................................................................ IV
BAB I PENDAHULUAN ........................................................................................................................ 1
1.1 LATAR BELAKANG ............................................................................................................ 1
1.2 RUMUSAN MASALAH .............................................................................................................. 2
1.3 TUJUAN ................................................................................................................................... 2
1.4 SISTEMATIKA PENULISAN ........................................................................................................ 2
BAB II TINJAUAN PUSTAKA ................................................................................................................ 4
2.1 BAHASA C++ ............................................................................................................................ 4
2.2 BORLAND C++ BUILDER 6 ........................................................................................................ 4
2.3 GUI ........................................................................................................................................... 4
2.4 ARRAY ...................................................................................................................................... 4
2.5 PENGURUTAN (SORTING) ........................................................................................................ 6
2.6 PENCARIAN (SEARCHING)........................................................................................................ 8
BAB III PERANCANGAN .................................................................................................................... 10
3.1 DISKUSI TOPIK ....................................................................................................................... 10
3.2 ASUMSI .................................................................................................................................. 11
3.3 ALGORITMA ........................................................................................................................... 11
3.4 FLOWCHART .......................................................................................................................... 12
BAB IV IMPLEMENTASI DAN PENGUJIAN ........................................................................................ 15
BAB V PENUTUP .............................................................................................................................. 23
5.1 KESIMPULAN ......................................................................................................................... 23
5.2 SARAN.................................................................................................................................... 23
DAFTAR PUSTAKA ............................................................................................................................ 24
LAMPIRAN ....................................................................................................................................... 25

III
DAFTAR GAMBAR

Gambar 3.1 Screenshot Flowchart halaman 1 ........................................................................ 13


Gambar 3.2 Screenshot Flowchart halaman 2 ........................................................................ 14
Gambar 3.3 Screenshot Flowchart halaman 3 ........................................................................ 14
Gambar 4.1 Screenshot Program Form 1 ............................................................................... 15
Gambar 4.2 Screenshot Program Form 2 Bagian Register ...................................................... 16
Gambar 4.3 Screenshot Program Form 2 Bagian Register Telah Berhasil .............................. 16
Gambar 4.4 Screenshot Program Form 3 Bagian Sign In ........................................................ 17
Gambar 4.5 Screenshot Program Form 4 ............................................................................... 17
Gambar 4.6 Screenshot Program Form 4 Melakukan Pencarian dengan Nama .................... 18
Gambar 4.7 Screenshot Program Form 4 Melakukan Pencarian dengan Nama Berhasil ....... 18
Gambar 4.8 Screenshot Program Form 4 Melakukan Pencarian dengan Nama Salah saat
Menginputkan Nama............................................................................................................... 19
Gambar 4.9 Screenshot Program Form 4 Melakukan Pencarian dengan NIM ....................... 19
Gambar 4.10 Screenshot Program Form 4 Melakukan Pencarian dengan NIM Salah saat
Menginputkan NIM ................................................................................................................. 20
Gambar 4.11 Screenshot Program Form 4 Melakukan Pencarian .......................................... 20
Gambar 4.12 Screenshot Program Form 4 Melakukan Pengurutan Menaik Menggunakan
NIM.......................................................................................................................................... 21
Gambar 4.13 Screenshot Program Form 4 Melakukan Pengurutan Menurun Menggunakan
NIM.......................................................................................................................................... 21
Gambar 4.14 Screenshot Program Form 4 Melakukan Pengurutan Menaik Menggunakan
Level UKT ................................................................................................................................. 22
Gambar 4.15 Screenshot Program Form 4 Melakukan Pengurutan Menurun Menggunakan
Level UKT ................................................................................................................................. 22

IV
BAB I

PENDAHULUAN

1.1 LATAR BELAKANG

Sebagai mahasiswa, ada banyak istilah yang kita ketahui dalam perkuliahan.
Misalnya seperti UKT dan NIM. Kedua istilah tersebut akan digunakan dalam
program tugas besar kelompok ini.

UKT adalah singkatan dari Uang Kuliah Tunggal, yang merupakan nama
dari sebuah sistem pembayaran yang saat ini berlaku di seluruh PTN seperti
Universitas Andalas. Fungsi dari UKT yaitu memberikan subsidi silang yang
didasarkan pada kondisi ekonomi dan sosial orang tua/wali mahasiswa sehingga
dapat memberikan kemudahan bagi keluarga yang kurang mampu dalam segi
ekonomi. Maka setiap mahasiswa memiliki level UKT yang berbeda-beda. Contoh
program yang kelompok ini buat untuk level UKT mahasiswa jurusam Sistem
Informasi angkatan 2018 Universitas Andalas. Level UKT yang terdapat di
Universitas Andalas terdiri dari 7 level.

NIM adalah singkatan dari Nomor Induk Mahasiswa, dimana menandakan


mahasiswa itu terdaftar pada perguruan tinggi. Di Universitas Andalas terdapat tiga
golongan NIM yaitu yang masuk dari jalur SNMPTN, SBMPTN dan SMMPTN.
Dimana yang masuk melalui jalur SNMPTN ditandai dengan angka 1, SBMPTN
ditandai dengan angka 2 dan SMMPTN ditandai dengan angka 3 pada nomor NIM
ke empat dari yang terakhir.

Terkadang kita bisa lupa dengan NIM dan level UKT kita sendiri atau ingin
melihat NIM atau level UKT orang lain. Untuk mengetahui hal tersebut kita dapat
menggunakan program kelompok ini untuk mengetahui hal tersebut. Anda hanya
perlu mengetahui nama atau NIM untuk mengetahui level UKT seseorang seperti
orang tua yang lupa NIM atau level UKT anaknya.

1
1.2 RUMUSAN MASALAH

Pengguna yang kesulitan mengingat, mencari atau mengetahui nama, NIM


dan level UKT seseorang.

1.3 TUJUAN

Mempermudah pengguna untuk mengingat, mencari atau mengetahui nama,


NIM dan level UKT seseorang.

1.4 SISTEMATIKA PENULISAN

Bagian Awal terdiri dari beberapa unsur penting, sebagai berikut :

1. Lembar Judul adalah identitas yang memberikan gambaran


mengenai isi makalah

2. Kata Pengantar berisikan ucapan terima kasih kepada pihak-


pihak yang membantu pembuatan makalah

3. Daftar Isi adalah suatu daftar yang membuat gambaran isi karya
tulis secara menyeluruh

4. Daftar Tabel (jika ada) merupakan daftar yang menerangkan


penjelasan menggunakan table

5. Daftar Gambar (jika ada) merupakan daftar yang menerangkan


penjelasan menggunakan gambar

6. Daftar Lampiran (jika ada) merupakan daftar yang menerangkan


penjelasan menggunakan lampiran.

2
1. Bab I Pendahuluan

• Latar Belakang Permasalahan adalah fenomena


permasalahan dalam lingkungan yang diamati.

• Masalah atau Pokok Permasalahan merupakan identifikasi


dari latar belakang permasalahaan.

• Tujuan Penulisan Makalah adalah uraian tujuan dan hal


yang ingin dicapai mengenai penulisan karya tulis.

2. Bab II Pembahasan

• Deskripsi Lokus atau Fokus adalah penjelasan singkat


mengenai permasalahan disertai analisis permasalahan.

• Landasan Teoritis adalah kumpulan teori yang digunakan


dalam pembuatan karya tulis.

• Analisis merupakan penjelasan mengenai data, fakta dan


informasi yang dianalisis dengan teori-teori yang telah
diungkapkan sebelumnya.

3. Bab III Penutup

• Kesimpulan adalah jawaban atas permasalahan penelitian,


bukan ringkasan.

• Saran merupakan tindak lanjut dari kesimpulan.

1. Daftar Pustaka berisi sumber bacaan ilmiah yang digunakan.

2. Lampiran-Lampiran berisi deskripsi pembagian tugas, source code,


dan dokumentasi.

3
BAB II

TINJAUAN PUSTAKA

2.1 BAHASA C++

C++ merupakan bahasa pemrograman yang memiliki sifat Pemrograman


berorientasi objek, Untuk menyelesaikan masalah, C++ melakukan langkah
pertama dengan menjelaskan class-class yang merupakan anak class yang dibuat
sebelumnya sebagai abstraksi dari object-object fisik, Class tersebut berisi keadaan
object, anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class
dibuat kemudian masalah dipecahkan dengan Class.

2.2 BORLAND C++ BUILDER 6

Borland C++ Builder 6 adalah sebuah perangkat lunak berbasis C/C++ yang
digunakan untuk melakukan pembuatan aplikasi berbasis Console Application
maupun GUI ( Graphical User Interface )

2.3 GUI

GUI (Graphical User Interface) adalah suatu media virtual yang dapat
membuat pengguna memberikan perintah tertentu pada komputer tanpa mengetik
perintah tersebut, namun menggunakan gambar yang tersedia. Pengguna tidak
mengetikkan perintah seperti pada komputer dengan Shell atau teks. Dengan GUI,
perintah dapat dikonversi menjadi ikon dalam layar monitor yang dapat diklik untuk
memulai fungsinya.

2.4 ARRAY

Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan
tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data di suatu larik
disebut dengan elemen-elemen larik. Letak urutan dari suatu elemen larik
ditunjukkan oleh suatu subscript atau suatu index.

Menurut dimensinya, array dapat dibedakan menjadi :

4
1. Array berdimensi satu

• Setiap elemen array dapat diakses melalui index o

Index array secara default dimulai dari 0

• Deklarasi array : Tipe_array nama_array[ukuran]

2. Array berdimensi dua

• Array dua dimensi merupakan array yang terdiri dari m buah baris dan n
buah buah kolom. Bentuknya dapat berupa matriks atau tabel.
• Deklarasi array : Tipe_array nama_array [baris][kolom]

3. Array multidimensi

• Array multidimensi merupakan array yang mempunyai ukuran lebih dari


dua. Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi
array dimensi satu maupun dimensi dua.
• Deklarasi array : Tipe_array nama_array [ukuran 1][ukuran 2]…[ukuran N]

Perbedaan array dengan tipe data lain :

• Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya
dihubungkan dengan sebuah nilai saja.
• Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain data
(char, int, float, double, long, dll) yang sama dengan satu nama saja.
• Selain itu, array dapat berupa satu dimensi atau lebih, sedangkan tipe data
lain hanya berupa satu dimensi.

Array juga dapat digunakan sebagai parameter.

Jenisnya :

5
a. Array dimensi satu sebagai parameter :

Pengiriman parameter berupa array dimensi satu merupakan pengiriman


secara acuan/referensi, karena yang dikirimkan adalah alamat dari elemen pertama
arraynya, bukan seluruh nilai-nilai elemenya. Alamat elemen pertama dari array
dapat ditunjukkan oleh nama lariknya yang tidak ditulis dengan indeknya.

b. Array dua dimensi sebagai parameter :

Pengiriman parameter berupa array dua dimensi hampir sama dengan


pengiriman parameter array satu dimensi, hanya saja perbedaannya adalah dalam
array dua dimensi harus menyebutkan baris dan kolom array dimensi dua tersebut,
mendeklarasikan MAX_ROWS dan MAX_COLS yang digunakan untuk
pengiriman parameter array dua dimensi dan pada saat parameter formal array dua
dimensi, kita harus menyebutkan banyaknya dimensi array untuk kolom, sehingga
ukuran kolom dapat diketahui, hal ini berkaitan dengan pemesanan variable array
di memori.

2.5 PENGURUTAN (SORTING)

Pengurutan atau “Sorting“ adalah suatu proses menyusun kembali data yang
sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun secara
teratur menurut aturan tertentu ( untuk data yang bertipe numerik atau karakter).

Dua Macam Pengurutan

• Ascending (urut naik) merupakan pengurutan dari angka yang nilainya lebih
kecil kemudian menuju ke nilainya yang lebih besar.
• Descending (urut turun) adalah sebaliknya, yaitu pengurutan dari nilainya yang
lebih besar kemudian menuju ke nilainya yang lebih kecil.

6
Sebagai contoh misalkan diberikan data berupa bilangan berikut ini:
3 9 1 4 0 2
Hasil sorting:

• Ascending adalah 0 1 2 3 4 9
• Descending adalah 9 4 3 2 1 0

Macam-Macam Sorting

1. Bubble Sort / Pengurutan Gelembung

Bubble Sort merupakan suatu metode pengurutan gelembung yang


diinspirasi oleh gelembung sabun yang ada di dalam permukaan air, karena berat
jenis gelembung sabun lebih ringan daripada berat jenis air maka gelembung sabun
akan selalu megapung. Prinsip pengapungan ini juga dipakai pada pengurutan
gelembung. Elemen yang berharga paling kecil "diapungkan", yang artinya
diangkat ke atas ( atau ke ujung paling kiri ) melalui pertukaran. Proses
pengapungan ini dilakukan N kali langkah. Pada langkah pertama, Larik[1….N]
akan terdiri dari 2 bagian yaitu :

a) Bagian yang sudah terurut yaitu L[1]…L[i]


b) Bagian yang belum terurut L[i+1]..L[n]

2. Selection Sort / Pengurutan Maksimum-Minimum

Metode pengurutan ini didasarkan pada pemilihan elemen maksimum atau


minimum kemudian mempertukarkan elemen maksimum-minimum tersebut
dengan elemen terujung larik (elemen ujung kiri atau elemen ujung kanan),
selanjutnya elemen terujung itu kita "isolasi" dan tidak diikut sertakan pada proses
selanjutnya. Karena proses utama dalam pengurutan adalah pemilihan elemen
maksimum/minimum, maka metode ini disebut metode pemilihan ( selection ).

3. Insertion Sort / Pengurutan Sisip

7
Metode pengurutan dengan cara menyisipkan elemen larik pada posisi yang
tepat. Pencarian posisi yang tepat dilakukan dengan pencarian beruntun. Selama
pencarian posisi yang tepat dilakukan pergeseran elemen larik.

2.6 PENCARIAN (SEARCHING)

Searching adalah mencari data yang dibutuhkan. Searching dalam


pemrograman bisa dilakukan untuk mencari data yang ada di dalam memory
komputer. Dalam kehidupan sehari-hari kita juga sering melakukan kegiatan
searching seperti mencari data/informasi yang ada dalam internet.

Ada beberapa metode yang dapat digunakan untuk searching, ada yang dinamakan:

1. Sequential Search

Sequential Search merupakan metode pencarian data dalam array


dengan cara membandingkan data yang dicari dengan data yang ada di
dalam array secara berurutan. Pencarian data dengan Metode Sequential
Search efektif untuk mencari data yang dalam posisi yang tidak terurut atau
acak.

Sequential Searching memiliki Kelebihan dan Kekurangan yaitu:

• Kelebihan Sequential Searching bisa dikatakan lebih mudah dalam


implementasinya dalam pemrograman.
• Kekurangannya jika data yang terdapat dalam suatu array itu sangat banyak,
maka akan diperlukan waktu yang lebih lama untuk membandingkan data
yang dicari dengan jumlah data yang sangat banyak dalam suatu array.

2. Binary Search

Metode pencarian Binary yaitu mencari data dengan melakukan


mengelompokkan array menjadi bagian-bagian.

8
Binary Search ini hanya dapat diimplementasikan pada data yang
telah terurut baik ascending maupun descending dalam suatu array.

Kelebihan dan Kekurangan Binary Search:

• Kelebihannya yaitu tidak perlu membandingkan data yang dicari dengan


seluruh data array yang ada, cukup melalui titik tengah kemudian kita bisa
menentukan ke mana selanjutnya mencari data yang ingin dicari.
• Kekurangan implementasi agak sedikit lebih rumit karena tidak bisa
digunakan pada data array yang masih acak. Jadi harus melakukan sorting
terlebih dahulu dalam implementasinya.

9
BAB III

PERANCANGAN

3.1 DISKUSI TOPIK

Gambaran umum tentang topik tugas besar kelompok kami dilaksanakan


sebagai berikut :

Aplikasi yang digunakan : Borland C++ Builder 6 GUI

Jumlah Form :4

1. Form Pertama : Halaman Selamat Datang


Terdiri dari pilihan :
- Sign up
- Sign in
2. Form Kedua : Sign Up

Terdiri dari : Multi Input

- Nama Lengkap
- NIM
- Password
3. Form Ketiga : Sign In

Terdiri dari : Multi Input

- NIM
- Password
4. Form Keempat : Halaman Pencarian dan Pengurutan

10
3.2 ASUMSI

Dalam pembuatan aplikasi ini kami juga memberikan beberapa asumsi


untuk membatasi program yang kami buat. Berikut asumsi yang kami gunakan pada
pembuatan aplikasinya :

1. Terdiri dari 4 form yaitu halaman selamat datang, sign in, sign up dan
halaman pencarian dan pengurutan.
2. Multi input digunakan dalam dua buah form yaitu form sign up dan sign in.
Pada form sign up dapat menginputkan nama, NIM dan password
sedangkan pada form sign in dapat menginputkan NIM dan password.
3. Pada pencarian terdapat dua pilihan yaitu melalui nama dan NIM.
4. Pada pengurutan terdapat dua pilihan yaitu berdasarkan NIM dan
berdasarkan level UKT. Masing-masing pilihan dapat diurutkan
berdasarkan dari yang tertinggi (ascending) dan dari yang terendah
(descending).

3.3 ALGORITMA

1. Start

2. Input Pilihan

3. Tampil Menu : 1. Nama

2. NIM

4. Case 1 : Nama

• If “Nama 1”, maka lakukan langkah 6

• If ”Nama 2”, maka lakukan langkah 7

• If ”Nama 3”, maka lakukan langkah 8

• If ”Nama 4”, maka lakukan langkah 9

• If ”Nama 5”, maka lakukan langkah 10

11
• .

• If ”Nama n”, maka lakukan langkah n+5

5. Case 2 : NIM

• If “NIM 1”, maka lakukan langkah 6

• If “NIM 2”, maka lakukan langkah 7

• If “NIM 3”, maka lakukan langkah 8

• If “NIM 4”, maka lakukan langkah 9

• If “NIM 5”, maka lakukan langkah 10

• .

• If “NIM n”, maka lakukan langkah n

6. Cetak Nama, NIM, Level UKT 1

7. Cetak Nama, NIM, Level UKT 2

8. Cetak Nama, NIM, Level UKT 3

9. Cetak Nama, NIM, Level UKT 4

10. Cetak Nama, NIM, Level UKT 5

11. Cetak Nama, NIM, Level UKT n

12. End

3.4 FLOWCHART

Dari algoritma yang tertera, untuk memudahkan kami dalam pembuatan


tugas besar ini, kami menggambarkan sebuah flowchart. Adapun gambar flowchart
terlampir.

12
Gambar 3.1 Screenshot Flowchart halaman 1

13
Gambar 3.2 Screenshot Flowchart halaman 2

Gambar 3.3 Screenshot Flowchart halaman 3

14
BAB IV

IMPLEMENTASI DAN PENGUJIAN

Berikut adalah gambaran screenshot dari program yang telah kami selsesaikan.

Gambar 4.1 Screenshot Program Form 1

15
Gambar 4.2 Screenshot Program Form 2 Bagian Register

Gambar 4.3 Screenshot Program Form 2 Bagian Register Telah Berhasil

16
Gambar 4.4 Screenshot Program Form 3 Bagian Sign In

Gambar 4.5 Screenshot Program Form 4

17
Gambar 4.6 Screenshot Program Form 4 Melakukan Pencarian dengan Nama

Gambar 4.7 Screenshot Program Form 4 Melakukan Pencarian dengan Nama


Berhasil

18
Gambar 4.8 Screenshot Program Form 4 Melakukan Pencarian dengan Nama
Salah saat Menginputkan Nama

Gambar 4.9 Screenshot Program Form 4 Melakukan Pencarian dengan NIM

19
Gambar 4.10 Screenshot Program Form 4 Melakukan Pencarian dengan NIM
Salah saat Menginputkan NIM

Gambar 4.11 Screenshot Program Form 4 Melakukan Pencarian

20
Gambar 4.12 Screenshot Program Form 4 Melakukan Pengurutan Menaik
Menggunakan NIM

Gambar 4.13 Screenshot Program Form 4 Melakukan Pengurutan Menurun


Menggunakan NIM

21
Gambar 4.14 Screenshot Program Form 4 Melakukan Pengurutan Menaik
Menggunakan Level UKT

Gambar 4.15 Screenshot Program Form 4 Melakukan Pengurutan Menurun


Menggunakan Level UKT

22
BAB V

PENUTUP

5.1 KESIMPULAN

Kami membuat program ini untuk memudahkan user untuk mengetahui level
UKT-nya maupun temannya, dan sebagai wadah untuk mengingat NIM dan nama
teman seangkatan.

5.2 SARAN

Sebaiknya kami lebih mengeksporasi sehingga program yang kami buat bisa lebih
baik lagi.

23
DAFTAR PUSTAKA

http://infomasukptn.blogspot.com/2014/08/apa-itu-ukt.html

http://kabarkampusku.blogspot.com/2013/06/nim.html

https://www.researchgate.net/publication/317689704_Pemrograman_Borland_C_
Builder_6_Revisi_Ketiga

https://aboutcprogramming.wordpress.com/2015/11/08/bahasa_pemrograman_c/

http://www.belajar-komputer-mu.com/2012/08/pengertian-dan-sejarah-singkat-
gui.html

https://tutorialpemrograman.wordpress.com/2008/02/12/array-dalam-bahasa-c/

http://risasisteminformasi.blogspot.com/2013/02/sorting-pengurutan.html

24
LAMPIRAN

I. Pembagian Tugas

1. Hanifa Alwi (1811521011)

Partisipasi dalam :

• Pembicara dalam presentasi Milestone 1,2,3.

• Pembuatan PPt Milestone 1,2.

• Pembuatan makalah.

• Coding.

2. Febby Putri Milenia Piter (1811522007)

Partisipasi dalam :

• Pembicara dalam presentasi Milestone 1,2,3,4.

• Pembuatan PPt Milestone 1,2.

• Pembuatan makalah.

• Coding.

3. Ahmad Fauzan (1811522017)

Partisipasi dalam :

25
• Pembicara dalam presentasi Milestone 1,2,3,4.

• Pembuatan PPt Milestone 1.

• Coding.

4. Dania Clarasinta Hansen (1811523009)

Partisipasi dalam :

• Pembicara dalam presentasi Milestone 1,2,3.

• Pembuatan PPt Milestone 1,2.

• Pembuatan Makalah.

• Coding.

II. Source Code

FORM 1:

Deskripsi :

Form1 -> Menampilkan homepage “Selamat Datang”

Button1Click -> Untuk melanjutkan ke Form2 (Sign Up)

Button2Click -> Untuk melanjutkan ke Form3 (Sign In)

//----------------------------------------------------------------
-----------

26
#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

//----------------------------------------------------------------
-----------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//----------------------------------------------------------------
-----------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

//----------------------------------------------------------------
-----------

void __fastcall TForm1::Button1Click(TObject *Sender)

Form2->Show();

//----------------------------------------------------------------
-----------

void __fastcall TForm1::Button2Click(TObject *Sender)

27
Form3->Show();

//----------------------------------------------------------------
-----------

FORM 2:

Deskripsi :

Form2 -> Menampilkan halaman pendaftaran user (Sign Up/Register)

Edit1 -> User diminta untuk mengisikan nama lengkap

Edit2 -> User diminta untuk mengisikan NIM yang berfungsi sebagai

username

Edit3 -> User diminta untuk mengisikan password

Button1Click -> Untuk menyimpan data user yang telah diinputkan lalu akan

ditampilkan ShowMessage ”Data tersimpan” dan kembali ke

homepage (Form1)

//----------------------------------------------------------------
-----------

#include <vcl.h>

#pragma hdrstop

#include "Unit2.h"

#include "Unit4.h"

#include "Unit3.h"

int nim[30];

28
String password[30];

String hello[30];

int k=0;

//----------------------------------------------------------------
-----------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

//----------------------------------------------------------------
-----------

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

//----------------------------------------------------------------
-----------

void __fastcall TForm2::Button1Click(TObject *Sender)

hello[k]=(Edit1->Text);

nim[k]=StrToInt(Edit2->Text);

password[k]=(Edit3->Text);

ShowMessage("Data Tersimpan");

Form3->user[k]=nim[k];

29
Form3->usa[k]=password[k];

Form3->hai[k]=hello[k];

k++;

Form2->Close();

//----------------------------------------------------------------
-----------

FORM 3:
Deskripsi :

Form3 -> Menampilkan halaman log in user

Edit1 -> User diminta untuk memasukkan NIM

Edit2 -> User diminta untuk memasukkan password

Button1Click -> Button akan menyesuaikan dengan data yang ada, apabila data

yang diinputkan sesuai maka akan ditampilkan Form4. Tetapi,

jika data yang diinputkan salah maka akan muncul

ShowMessage ”NIM dan Password belum terdaftar”

//----------------------------------------------------------------
-----------

#include <vcl.h>

#pragma hdrstop

30
#include "Unit3.h"

#include "Unit4.h"

#include "Unit2.cpp"

int u=0;

//----------------------------------------------------------------
-----------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm3 *Form3;

//----------------------------------------------------------------
-----------

__fastcall TForm3::TForm3(TComponent* Owner)

: TForm(Owner)

//----------------------------------------------------------------
-----------

//----------------------------------------------------------------
-----------}

//----------------------------------------------------------------
-----------

void __fastcall TForm3::Button1Click(TObject *Sender)

int nima=StrToInt(Edit1->Text);

String nimb=(Edit2->Text);

int i;

31
for(i=0;i<=30;i++){

if(nima==user[i]&&nimb==usa[i]){

Form4->Show();

Form4->Label5->Caption=hai[i];

u++;

if(u==0){

ShowMessage("NIM Dan Password Belum Terdaftar ");

//----------------------------------------------------------------
-----------

FORM 4:
Deskripsi :

Form4 -> Menampilkan halaman utama. Form ini menyimpan data-data

mahasiswa Sistem Informasi 2018 berupa nama, NIM dan level

UKT.

Edit1 -> User diminta untuk mengisikan nama yang ingin dicari dengan

kapitalisasi yang benar, Edit1 digunakan jika user ingin mencari

data sesuai nama

Button1 -> Untuk memberi perintah pada ListBox1, 2, 3 untuk menampilakn

data sesuai nama yang dimasukkan

Edit2 -> User diminta untuk mengisikan NIM yang ingin dicari, Edit2

32
digunakan jika user ingin mencari data dengan NIM

Button2 -> Untuk memberi perintah pada ListBox1, 2, 3 untuk menampilakn

data sesuai NIM yang dimasukkan

ListBox1 -> Akan menampilkan hasil pencarian data berupa nama

ListBox2 -> Akan menampilkan hasil pencarian data berupa NIM

ListBox3 -> Akan menampilkan hasil pencarian data berupa level UKT

Button3 -> Untuk memberi perintah pada ListBox1, 2, 3 untuk mereset atau

menghapus data

ComboBox -> Untuk menampilkan pilihan pengurutan berdasarkan ”ascending”

atau ”descending”

Button4 -> Untuk memberi perintah pada ListBox1, 2, 3 untuk mengurutkan

data sesuai NIM

Button5 -> Untuk memberi perintah pada ListBox1, 2, 3 untuk mengurutkan

data sesuai level UKT

//----------------------------------------------------------
-----------------

#include <vcl.h>

#pragma hdrstop

#include "Unit4.h"

33
String data[3][52]={{"Achmad Nabil Fikri","Aditya Ilham
Ramadhan","Ahmad Fauzan","Aldhi Hamdani","Amanda Noverdina
Putri","Anggi Julieta","Annisa Atifa","Annisa
Suprima","Aulia Putri Nazhira","Daffa Iklil Dzakwan","Dania
Clarasinta Hansen","Dhinda Amalia Kiflia","Difah Alferina
Putri","Dinda Fitria","Fadhullah Ahmad","Fandy
Akbar","Farhan Naufal Otra","Febby Putri Milenia
Piter","Filzi Muhaimin Manan","Firhan Hadi Yoza","Ghani
Arrasyid Zukarnaen","Hanifa Alwi","Hasya Rona
Amirahmi","Hifzhon Alnutari","Irfan Rahmat Ramadhan","Irfan
Zain","Lathifa Hardi","Luzya Rahmadilla","Mayang Sari
Deyuvi","Muhammad Agung Mahardika","Muhammad
Arridho","Muhammad Fachri Ananta","Muhammad Hadi Zahfran
Hasmi",

"Muhammad Harley Adinama","Muhammad Iqbal Mubarak","Muhammad


Rafi","Nadhila Fariza","Nadya Melanie Ragita
Azahari","Naufal Fadilan","Nedia Putri Ismala","Nesvi
Ramahdani","Nurul Afifah","Puty Syalima","Rahmat
Hanafi","Ranggi Aureliyanto Putra","Rifa Maulina","Ringgo
Sahara Agsya Lova","Rivaldo Agusti","Sabrina Pratama
Putri","Salma Hanifah","Velia Andrini Fahira","Yopi
Saputra"},{

"1811523011","1811521010","1811522017","1811522006","1811521
007","1811522003","1811522004","1811521015","1811523008","18
11522022","1811523009","1811521002","1811522019","1811521001
","1811522009","1811523004","1811522026","1811522007","18115
21016","1811522016","1811522005","1811521011","1811523003","
1811523005","1811522002","1811522024","1811521003","18115220
27","1811521009","1811523001","1811523006","1811522018","181
1523002","1811521004","1811523007","1811521018","1811521013"
,"1811521014","1811522021","1811521012","1811521005","181152
2020","1811522014","1811522011","1811522025","1811522012","1
811522023","1811521008","1811522013","1811523010","181152200
1","1811522010"},{

34
"Level UKT 7","Level UKT 6","Level UKT 6","Level UKT
6","Level UKT 7","Level UKT 6","Level UKT 6","Level UKT
6","Level UKT 7","Level UKT 7","Level UKT 7","Level UKT
3","Level UKT 4","Level UKT 4","Level UKT 7","Level UKT
7","Level UKT 7","Level UKT 7","Level UKT 7","Level UKT
7","Level UKT 6","Level UKT 7","Level UKT 7","Level UKT
7","Level UKT 7","Level UKT x","Level UKT 6","Level UKT
6","Level UKT 5","Level UKT 7","Level UKT 7","Level UKT
6","Level UKT 7","Level UKT 7","Level UKT 7","Level UKT
6","Level UKT 6","Level UKT 7","Level UKT 7","Level UKT
7","Level UKT 3","Level UKT 7","Level UKT 7","Level UKT
6","Level UKT 6","Level UKT 6","Level UKT 7","Level UKT
5","Level UKT 7","Level UKT 7","Level UKT 7","Level UKT
6"}};

String nama;

int nim;

int jumlah=0;

String baru[3][52];

//----------------------------------------------------------
-----------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm4 *Form4;

//----------------------------------------------------------
-----------------

__fastcall TForm4::TForm4(TComponent* Owner)

: TForm(Owner)

35
//----------------------------------------------------------
-----------------

void __fastcall TForm4::Button1Click(TObject *Sender)

nama = Edit1->Text;

int find=0,i;

for (i=0;i<52;i++)

if(data[0][i]==nama)

{ baru[0][jumlah]=data[0][i];

baru[1][jumlah]=data[1][i];

baru[2][jumlah]=data[2][i];

ListBox1->Items->Add(data[0][i]);

ListBox2->Items->Add(data[1][i]);

ListBox3->Items->Add(data[2][i]);

find++;

if (find==0)

36
ShowMessage("Nama Yang Dimasukkan Salah,
Silahkan Isi Dengan Nama Yang Benar dan Huruf Kapital Yang
Benar");

Edit1->Clear() ;

jumlah++;

//----------------------------------------------------------
-----------------

void __fastcall TForm4::Button2Click(TObject *Sender)

nim =StrToInt(Edit2->Text);

int find=0,j;

for (j=0;j<52;j++)

if(data[1][j]==nim)

baru[1][jumlah]=data[1][j];

baru[0][jumlah]=data[0][j];

baru[2][jumlah]=data[2][j];

ListBox1->Items->Add(baru[0][jumlah]);

37
ListBox2->Items->Add(baru[1][jumlah]);

ListBox3->Items->Add(baru[2][jumlah]);

find++;

if (find==0)

ShowMessage("NIM Yang Anda Masukkan Salah,


Silahkan Dimasukkan Dengan Benar");

Edit2->Clear() ;

jumlah++;

//----------------------------------------------------------
-----------------

void __fastcall TForm4::Button3Click(TObject *Sender)

int i,k,l;

int y;

String swap,sw,swapp;

//urutan

38
for(i=0;i<jumlah;i++){

for(k=i+1;k<=jumlah;k++){

if(baru[1][i]>baru[1][k]){

swap=(baru[1][i]);

baru[1][i]=(baru[1][k]);

baru[1][k]=swap;

sw=(baru[0][i]);

baru[0][i]=(baru[0][k]);

baru[0][k]=sw;

swapp=(baru[2][i]);

baru[2][i]=(baru[2][k]);

baru[2][k]=swapp;}

ListBox1->Clear();

ListBox2->Clear();

ListBox3->Clear(); }

if(ComboBox1->ItemIndex==0){

for(i=0;i<=jumlah;i++){

if(baru[0][i]!=""){

ListBox2->Items->Add(baru[1][i]);

ListBox1->Items->Add(baru[0][i]);

ListBox3->Items->Add(baru[2][i]);

39
}

else{

if(ComboBox1->ItemIndex==1){

for(i=jumlah;i>=0;i--){

if(baru[0][i]!=""){

ListBox2->Items->Add(baru[1][i]);

ListBox1->Items->Add(baru[0][i]);

ListBox3->Items->Add(baru[2][i]);

//----------------------------------------------------------
-----------------

void __fastcall TForm4::Button4Click(TObject *Sender)

int i,k,l;

int y;

String swap,sw,swapp;

//
40
for(i=0;i<jumlah;i++){

for(k=i+1;k<=jumlah;k++){

if(baru[2][i]>baru[2][k]){

swap=(baru[1][i]);

baru[1][i]=(baru[1][k]);

baru[1][k]=swap;

sw=(baru[0][i]);

baru[0][i]=(baru[0][k]);

baru[0][k]=sw;

swapp=(baru[2][i]);

baru[2][i]=(baru[2][k]);

baru[2][k]=swapp;}

ListBox1->Clear();

ListBox2->Clear();

ListBox3->Clear();

//

if(ComboBox1->ItemIndex==0){

//urutan

for(i=0;i<=jumlah;i++){

if(baru[1][i]!=""){

ListBox2->Items->Add(baru[1][i]);

ListBox1->Items->Add(baru[0][i]);

41
ListBox3->Items->Add(baru[2][i]);

if(ComboBox1->ItemIndex==1){

for(i=jumlah;i>=0;i--){

if(baru[1][i]!=""){

ListBox2->Items->Add(baru[1][i]);

ListBox1->Items->Add(baru[0][i]);

ListBox3->Items->Add(baru[2][i]);

//----------------------------------------------------------
-----------------

void __fastcall TForm4::Button5Click(TObject *Sender)

ListBox1->Clear();
42
ListBox2->Clear();

ListBox3->Clear();

//----------------------------------------------------------
-----------------

43

Anda mungkin juga menyukai