Langsung ke konten utama

Penerapan ADT dan sorting - Phonebook Sederhana

 

Koding :

// JUDUL = Phone Book dan Sort menggunakan Insertion Sorting
//OLEH : RIZKY SYAH GUMELAR
//TANGGAL : 9 APRIL 2022
 
// Kamus
#include <iostream> //Include library iostream
#include <conio.h>
#include <math.h> //SQRT DAN POW Function
#include <string.h>
 
using namespace std; //Shortcut Std library
 
 
struct komponen_phone_book{
  string nama, nomor;
};
 
int max_array;
int batas();
void input(int batas_array);
void cetak_phone_book(int batas_array);
void name_sort(int batas_array);
void num_sort(int batas_array);
 
// Declare ADT ke sebuah variable
struct komponen_phone_book phone_book[100];
 
//Deskripsi / Algoritma
int main(){
 
  //Panggil Function batas
  max_array = batas();
  cout << endl;
 
  //Panggil Function Input
  input(max_array);
 
  //Cetak Sebelum Sorting
  cout << "============ Output Sebelum di Sorting ============" << endl;
  cetak_phone_book(max_array);
 
  //Panggil Function Sorting Phone Book berdasarkan nama
  name_sort(max_array);
 
  //Panggil Function Cetak
  cout << endl;
  cout << "===================================================" << endl;
  cout << endl;
  cout << "============ Sorting Berdasarkan Nama =============" << endl;
  cetak_phone_book(max_array);
 
  //Panggil Function Sorting Phone Book berdasarkan nomor
  num_sort(max_array);
 
  //Panggil Function Cetak
  cout << endl;
  cout << "===================================================" << endl;
  cout << endl;
  cout << "============ Sorting Berdasarkan Nomor ============" << endl;
  cetak_phone_book(max_array);
 
  return 0;
}
 
int batas(){
 
  //Local Variable
  int x;
 
  //Algoritma
  cout << "Masukan Jumlah Data Phone Book = ";
  cin >> x;
 
  return x;
}
 
void input(int batas_array){
 
  //Local Variable
  int a = 0;
 
  //Algoritma
  while (a < batas_array)
  {
    cout << "Masukan Data Nama PhoneBook ke-" << a+1 << " = ";
    cin >> phone_book[a].nama;
    cout << "Masukan Data Nomor Telefon PhoneBook ke-" << a+1 << " = ";
    cin >> phone_book[a].nomor;
    cout << endl;
    cout << "===================================================" << endl;
    cout << endl;
 
    //Increment Looping
    a = a + 1;
  }
}
 
void cetak_phone_book(int batas_array){
  //Local Variable
  int b = 0;
 
  //Algoritma
  cout << "Nama                      Nomor Telepon" << endl;
  while (b < batas_array)
  {
    cout << phone_book[b].nama << "                        " << phone_book[b].nomor;
    cout << endl;
    b = b + 1;
  }
}
 
void name_sort(int batas_array){
    //KAMUS LOKAL
    int x = 1;
    int y;
    string keyNama, keyNomor; //UNTUK MENAMPUNG DATA SAAT SWAPPING
 
    while(x<batas_array){
        keyNama = phone_book[x].nama;
        keyNomor = phone_book[x].nomor;
 
        y = x-1;
        while(y>=0 && phone_book[y].nama > keyNama){
            phone_book[y+1].nama = phone_book[y].nama;
            phone_book[y+1].nomor = phone_book[y].nomor;
            y = y - 1;
        }
        phone_book[y+1].nama = keyNama;
        phone_book[y+1].nomor = keyNomor;
        x = x + 1;
    }
 
}
 
void num_sort(int batas_array){
    //KAMUS LOKAL
    int x = 1;
    int y;
    string keyNama, keyNomor; //UNTUK MENAMPUNG DATA SAAT SWAPPING
 
    while(x<batas_array){
        keyNama = phone_book[x].nama;
        keyNomor = phone_book[x].nomor;
 
        y = x-1;
        while(y>=0 && phone_book[y].nomor > keyNomor){
            phone_book[y+1].nama = phone_book[y].nama;
            phone_book[y+1].nomor = phone_book[y].nomor;
            y = y - 1;
        }
        phone_book[y+1].nama = keyNama;
        phone_book[y+1].nomor = keyNomor;
        x = x + 1;
    }
 
}

Screenshot hasil:




Komentar

Postingan populer dari blog ini

Flowchart

Pengertian Flowchart. Flowchart adalah suatu diagram dengan tanda-tanda tertentu yang memvisualkan barisan metode secara terperinci dan hubungan antara suatu metode dengan metode lainnya dalam suatu rancangan. Dengan menggunakan flowchart seseorang dapat menerangkan setiap kegiatan yang terjalin dalam struktur tersebut.      Untuk mendesain flowchart, kita harus memahami tanda-tanda yang dapat digunakan untuk merumuskan hal yang berupa masukan, proses atau keluaran dari suatu rancangan. Tidak ada kulifikasi spesifik untuk mendesain suatu flowchart. Kita hanya harus memahami kapan dan dimana tanda tersebut dapat digunakan. Hal itu bermaksud agar orang lain dapat mengartikan dan mengartikan flowchart tersebut secara jelas.     Simbol Flowchart:   Contoh Flowchart:

Tugas Akhir Algoritma Pemrograman - Program Kompetisi

 Program Kompetisi Sepakbola Menggunakan C++ Code : main.cpp #include <iostream> #include "menuawal.h" using namespace std ; int main (){     int pilih;     Menu menu;     while ( 1 ){         system ( "cls" );         menu. showMenu ();         cout << " \t Masukkan Pilihan : " ;         cin >> pilih;         menu. menuInput (pilih);         if (pilih == 7 ){             return 0 ;         }         system ( "pause" );     }     return 0 ; } menuawal.h #include "kompetisi.h" using namespace std ; class Menu {     public:     Kompetisi laLiga;     void showMenu (){         cout << " \t ========================================================================================== \n " ;         cout << " \t |>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PROGRAM KOMPETISI <<<<<<