You are on page 1of 3

/* Saya Resky Ramadhandi Santoso tidak melakukan kecurangan yang dispesifikasikan

pada Tugas Masa Depan Alpro 2 **


** pada saat mengerjakan Tugas Masa Depan Alpro 2. Jika saya melakukan kecurangan
maka Allah/Tuhan adalah saksi saya, **
** dan saya bersedia menerima hukumanNya. Aamiin.
*/

/*///////////////////////////////////////////////////////////////////////
//////////// T M D
////////////
//////////// Solve Tunjukkan Jalan
////////////
//////////// Algoritma dan Pemrograman II ////////////
//////////// Code By:
////////////
//////////// RESKY RAMADHANDI SANTOSO
////////////
///////////////////////////////////////////////////////////////////////*/

////////////////////////////// H E A D E R //////////////////////////////

/
*==================================================================================
================*/

#include <stdio.h> // Input and Output Library


#include <string.h> // String Manipulation Library
#include <stdlib.h> // Standard Library
#include <time.h> // Date and Time Function Library
#include <windows.h> // WinAPI

/
*==================================================================================
================*/

/* --- Deklarasi Tipe Data (bungkusan) ---*/


typedef struct /*Struct Tipe Data tkota*/
{
int x; // Koordinat X
int y; // Koordinat Y
char nama[16]; // Nama Kota
}tkota;

typedef struct /*Struct Tipe Data tjalur*/


{
int no_jalur; // Nomor Jalur
char kota1[16]; // Nama Kota Pertama
char kota2[16]; // Nama Kota Kedua
int koordinat1[2]; // Koordinat kota1; [0] = X1; [1] = Y1
int koordinat2[2]; // Koordinat kota2; [0] = X2; [1] = Y2
}tjalur;

/
*==================================================================================
================*/
/* --- Deklarasi variabel - variabel ---*/
tkota kota[100]; // Variabel bungkusan menampung data kota
int n; // Variabel banyaknya data kota
tjalur jalur[100]; // Variabel bungkusan menampung data jalur
int m; // Variabel banyaknya data jalur

int p; int q; // Variabel Panjang (p) dan Lebar (q) papan


char papan[100][100]; // Variabel isi papan

/
*==================================================================================
================*/

/* --- Daftar Fungsi & Prosedur ---*/


void WAIT(float x); // Prosedur
untuk mendelay animasi
void MENU_LIST(int x); // Prosedur
menampilkan list menu dan submenu
void DEFAULT_PAPAN(); // Prosedur untuk
mengatur papan sesuai nilai p dan q
void PRINT_PAPAN(); // Prosedur
untuk mencetak isi papan
int INT_LENGTH(int x); // Fungsi untuk
menentukan panjang suatu record bertipe integer (seperti fungsi strlen untuk
string)

// TKOTA //
void READtkota(); // Prosedur untuk
membaca file tkota
void WRITEtkota(); // Prosedur
untuk menulis file tkota
int FINDtkota(char nama[16]); // Prosedur untuk
mencari record dalam file tkota
void INSERTtkota(tkota input); // Prosedur untuk
menambahkan record pada file tkota
void DELETEtkota(char nama[16]); // Prosedur untuk
menghapus record pada file tkota

void PRINT_KOTA(int panjang_maks, int panjang[]); // Prosedur untuk menampilkan


isi file tkota
void GET_MAXLENGTH_KOTA(int panjang[3]); // Prosedur untuk mengambil
nilai terpanjang pada setiap record data tkota

// TJALUR //
void READtjalur(); // Prosedur
untuk membaca file tjalur
void WRITEtjalur(); // Prosedur
untuk menulis file tjalur
int FINDtjalur(char nama1[16], char nama2[16]); // Prosedur untuk mencari
record dalam file tjalur
void INSERTtjalur(tjalur input); // Prosedur untuk
menambahkan record pada file tjalur
void DELETEtjalur(char nama1[16], char nama2[16]); // Prosedur untuk menghapus
record pada file tjalur

void PRINT_JALUR(int panjang_maks, int panjang[]); // Prosedur untuk menampilkan


isi file tjalur
void GET_MAXLENGTH_JALUR(int panjang[3]); // Prosedur untuk mengambil
nilai terpanjang pada setiap record data tjalur

// SOLVE //
int MAX_1(); // Fungsi
untuk mengambil nilai X maksimum pada record
int MAX_2(); // Fungsi
untuk mengambil nilai Y maksimum pada record
void SORTJALUR(int l, int r); // Prosedur untuk
melakukan sorting terhadap data tjalur
void CEKJALUR(); // Prosedur
pengecekan data tjalur, terhadap kesesuaian data kota pada tkota, serta urutan
jalur
void SET_PAPAN(); // Prosedur untuk
mengatur papan,
//
dengan memberikan nama kota yang terdapat pada papan sesuai dengan koordinat
void SOLVE_PAPAN(); // Prosedur
pemrosesan animasi solve

// EXIT //
int SUBEXIT(int submenu); // Funsgi
pengecekan untuk keluar dari submenu
int EXIT(int menu); // Funsgi
pengecekan untuk keluar dari main menu (program utama)

You might also like