Langsung ke konten utama

Phonebook Sederhana dengan insertion sort

 
Notasi :
Judul : phonebook dan insertionsort
oleh : rizky syah gumelar
tanggal : 9 april 2022
deskripsi :
 
Kamus Global:
arraynama[] ß string, array
arraynomor[] ß string, array
i = 0 ß interger (digunakan sebagai awalan array sekaligus batas cetak array)
 
Kamus Fungsi/Prosedur:
Tambah() ß void (digunakan untuk input kontak)
insertionSort() ß void (digunakan untuk mengurutkan data array. Data akan diurutkan berdasarkan nama)
 
int main(){
            Judul : Fungsi Utama
            Kamus local : pilih ß interger (digunakan untuk memilih menu pada switch case)
            Deskripsi : Fungsi utama ini berisi tampilan menu, looping, dan switch case untuk                         memilih aksi
 
Do{
Output “======== PHONEBOOK ========”
1.     Tambah Kontak
2.     Urutkan Nomor Telepon
3.     Selesai
Output “Masukkan Pilihan : “
Input pilih
 
Switch(pilih){
   Case 1 = tambah(), break
   Case 2 = insertSort(), break
   Case 3 = return 0, break
   Default  = Output “Pilihan anda salah.” , break
}
}while(1) à (program akan terus menulang sampai kita inputkan sesuai dengan case 3)
}
 
void tambah(){
    Output “Masukkan Nama :”
    Input  arrayNama[i]
    Output "Masukkan Nomor Telepon: "
    Input arrayNomor[i]
    i = i+1
 
    //cetak table menggunakan perulangan
    }
}
 
void insertSort(){
    KAMUS LOKAL :
    int x = 1
    int y
    string keyNama, keyNomor //untuk menampung data saat swapping
 
    while(x<i){
            //menampung data ke variable lain
        keyNama = arrayNama[x]
        keyNomor = arrayNomor[x]
 
        y = x-1
        while(y>=0 && arrayNama[y] > keyNama){
            //bertukar
            arrayNama[y+1] = arrayNama[y]
            arrayNomor[y+1] = arrayNomor[y]
 
            //Kembali ke index awal
            y = y - 1
        }
        arrayNama[y+1] = keyNama
        arrayNomor[y+1] = keyNomor
        x = x + 1 //increment
    }
 
    //cetak table menggunakan perulangan
}
 
Koding :

//JUDUL : PHONEBOOK DAN INSERTIONSORT
//OLEH : RIZKY SYAH GUMELAR
//TANGGAL : 9 APRIL 2022
//DESKRIPSI :
#include <iostream>
 
using namespace std;
 
//KAMUS GLOBAL
string arrayNama[50];
string arrayNomor[50];
int i = 0;
 
//FUNGSI DAN PROSEDUR
void tambah();
void insertSort();
 
int main()
{
    int pilih;
    do{
        cout << "\n\t======================== PHONEBOOK ========================\n";
        cout << "\t|         1. Tambah Kontak                                |\n";
        cout << "\t|         2. Urutkan Nomor Telepon                        |\n";
        cout << "\t|         3. Selesai                                      |\n";
        cout << "\t===========================================================\n";
        cout << "\tMasukkan Pilihan : ";
        cin >> pilih;
 
        switch(pilih){
            case 1:
                tambah();
                break;
            case 2:
                insertSort();
                break;
            case 3:
                return 0;
                break;
            default:
                cout << "\n\tPilihan Anda salah." << endl;
                break;
        }
 
    }while(1);
 
}
 
void tambah(){
    cout << "\n\tMasukkan Nama: ";
    cin >> arrayNama[i];
    cout << "\tMasukkan Nomor Telepon: ";
    cin >> arrayNomor[i];
    i = i+1;
 
    //CETAK
    cout << "\n\t======================= Kontak Anda =======================\n";
    cout << "\t|          Nama             |        Nomor Telepon        |\n";
    cout << "\t===========================================================\n";
    for(int j=0; j<i; j++){
        cout << "\t|\t" << arrayNama[j] << "\t\t\t    " << arrayNomor[j] <<"\t  |\n";
        cout << "\t-----------------------------------------------------------\n";
    }
}
 
void insertSort(){
    //KAMUS LOKAL
    int x = 1;
    int y;
    string keyNama, keyNomor; //UNTUK MENAMPUNG DATA SAAT SWAPPING
 
    while(x<i){
        keyNama = arrayNama[x];
        keyNomor = arrayNomor[x];
 
        y = x-1;
        while(y>=0 && arrayNama[y] > keyNama){
            arrayNama[y+1] = arrayNama[y];
            arrayNomor[y+1] = arrayNomor[y];
            y = y - 1;
        }
        arrayNama[y+1] = keyNama;
        arrayNomor[y+1] = keyNomor;
        x = x + 1;
    }
 
    //CETAK
    cout << "\n\tInsertion Sort berdasarkan Nama :";
    cout << "\n\t======================= Kontak Anda =======================\n";
    cout << "\t|          Nama             |        Nomor Telepon        |\n";
    cout << "\t===========================================================\n";
    for(int j=0; j<i; j++){
        cout << "\t|\t  " << arrayNama[j] << "\t\t\t    " << arrayNomor[j] <<"\t  |\n";
        cout << "\t-----------------------------------------------------------\n";
    }
}
 


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 ========================================================================...