Program
KELOMPOK : 6
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.
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.
Penyusun
II
DAFTAR ISI
III
DAFTAR GAMBAR
IV
BAB I
PENDAHULUAN
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.
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
1.3 TUJUAN
3. Daftar Isi adalah suatu daftar yang membuat gambaran isi karya
tulis secara menyeluruh
2
1. Bab I Pendahuluan
2. Bab II Pembahasan
3
BAB II
TINJAUAN PUSTAKA
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.
4
1. Array berdimensi satu
• 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 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.
Jenisnya :
5
a. Array dimensi satu sebagai parameter :
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).
• 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
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.
Ada beberapa metode yang dapat digunakan untuk searching, ada yang dinamakan:
1. Sequential Search
2. Binary Search
8
Binary Search ini hanya dapat diimplementasikan pada data yang
telah terurut baik ascending maupun descending dalam suatu array.
9
BAB III
PERANCANGAN
Jumlah Form :4
- Nama Lengkap
- NIM
- Password
3. Form Ketiga : Sign In
- NIM
- Password
4. Form Keempat : Halaman Pencarian dan Pengurutan
10
3.2 ASUMSI
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
2. NIM
4. Case 1 : Nama
11
• .
5. Case 2 : NIM
• .
12. End
3.4 FLOWCHART
12
Gambar 3.1 Screenshot Flowchart halaman 1
13
Gambar 3.2 Screenshot Flowchart halaman 2
14
BAB IV
Berikut adalah gambaran screenshot dari program yang telah kami selsesaikan.
15
Gambar 4.2 Screenshot Program Form 2 Bagian Register
16
Gambar 4.4 Screenshot Program Form 3 Bagian Sign In
17
Gambar 4.6 Screenshot Program Form 4 Melakukan Pencarian dengan Nama
18
Gambar 4.8 Screenshot Program Form 4 Melakukan Pencarian dengan Nama
Salah saat Menginputkan Nama
19
Gambar 4.10 Screenshot Program Form 4 Melakukan Pencarian dengan NIM
Salah saat Menginputkan NIM
20
Gambar 4.12 Screenshot Program Form 4 Melakukan Pengurutan Menaik
Menggunakan NIM
21
Gambar 4.14 Screenshot Program Form 4 Melakukan Pengurutan Menaik
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
Partisipasi dalam :
• Pembuatan makalah.
• Coding.
Partisipasi dalam :
• Pembuatan makalah.
• Coding.
Partisipasi dalam :
25
• Pembicara dalam presentasi Milestone 1,2,3,4.
• Coding.
Partisipasi dalam :
• Pembuatan Makalah.
• Coding.
FORM 1:
Deskripsi :
//----------------------------------------------------------------
-----------
26
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
//----------------------------------------------------------------
-----------
#pragma package(smart_init)
TForm1 *Form1;
//----------------------------------------------------------------
-----------
: TForm(Owner)
//----------------------------------------------------------------
-----------
Form2->Show();
//----------------------------------------------------------------
-----------
27
Form3->Show();
//----------------------------------------------------------------
-----------
FORM 2:
Deskripsi :
Edit2 -> User diminta untuk mengisikan NIM yang berfungsi sebagai
username
Button1Click -> Untuk menyimpan data user yang telah diinputkan lalu akan
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)
TForm2 *Form2;
//----------------------------------------------------------------
-----------
: TForm(Owner)
//----------------------------------------------------------------
-----------
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 :
Button1Click -> Button akan menyesuaikan dengan data yang ada, apabila data
//----------------------------------------------------------------
-----------
#include <vcl.h>
#pragma hdrstop
30
#include "Unit3.h"
#include "Unit4.h"
#include "Unit2.cpp"
int u=0;
//----------------------------------------------------------------
-----------
#pragma package(smart_init)
TForm3 *Form3;
//----------------------------------------------------------------
-----------
: TForm(Owner)
//----------------------------------------------------------------
-----------
//----------------------------------------------------------------
-----------}
//----------------------------------------------------------------
-----------
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){
//----------------------------------------------------------------
-----------
FORM 4:
Deskripsi :
UKT.
Edit1 -> User diminta untuk mengisikan nama yang ingin dicari dengan
Edit2 -> User diminta untuk mengisikan NIM yang ingin dicari, Edit2
32
digunakan jika user ingin mencari data dengan NIM
ListBox3 -> Akan menampilkan hasil pencarian data berupa level UKT
Button3 -> Untuk memberi perintah pada ListBox1, 2, 3 untuk mereset atau
menghapus data
atau ”descending”
//----------------------------------------------------------
-----------------
#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",
"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)
TForm4 *Form4;
//----------------------------------------------------------
-----------------
: TForm(Owner)
35
//----------------------------------------------------------
-----------------
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++;
//----------------------------------------------------------
-----------------
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)
Edit2->Clear() ;
jumlah++;
//----------------------------------------------------------
-----------------
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]);
//----------------------------------------------------------
-----------------
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]);
//----------------------------------------------------------
-----------------
ListBox1->Clear();
42
ListBox2->Clear();
ListBox3->Clear();
//----------------------------------------------------------
-----------------
43