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 variablestruct komponen_phone_book phone_book[100]; //Deskripsi / Algoritmaint 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: Salin 1 komentar Posting Komentar rizky 17 Maret 2026 pukul 19.49 17 Maret 2026 pukul 19.49 test
1 komentar