Materi Kuliah :
- Searching
- Sorting
- Stack (Tumpukan)
- Queue (Antrian)
- Graph
- Analisis Algoritma
Modul Algortima Dan Struktur Data 2 dapat di download Di sini
Materi Kuliah :
Modul Algortima Dan Struktur Data 2 dapat di download Di sini
#include<iostream.h> #include<conio.h> #include<string.h> main() { char kata[20]; int panjang_kata,i; cout<<"masukan kata : "; cin>>kata; panjang_kata=strlen(kata); cout<<"hasil : "; for(i=panjang_kata;i>=1;i--) { char stack=kata[i-1]; cout<<stack; } getch(); }
PEMBAHASAN
panjang_kata=strlen(kata);
Menghitung jumlah karakter dalam kata
for(i=panjang_kata;i>=1;i–)
perulangan untuk membalik huruf
char stack=kata[i-1];
Elemen pada array dimulai dari 0, sedangkan panjang string dimulai dari 1. Maka kata kedua dari string merupakan kata pertama diarray. Karena string dimulai dari 1, maka 0-1=-1, -1 inilah yang membuat kata pada string tetap lengkap meski dibalik.
Pada Postingan sebelumnya, telah dibahas tentang satck dan program push dan pop data angka pada stack. Nah bagaimana jika data yang kita inginkan berupa huruf ? berikut listing programnya : Baca selebihnya »
Stack adalah tumpukan dari benda. Konsepnya, LIFO (Last In First Out). Artinya, benda yang terakhir masuk dalam stack akan menjadi benda yang pertama keluar. Sebagai contoh ada tumpukan kotak, kemudian kita akan memindahkan kotak-kotak itu ke tempat lain. Maka, otomatis kotak yang paling ataslah yang duluan kita pindahkan.
Operasi-operasi pada Stack :
Create : Membuat sebuah stack baru yang masih kosong.
Full : Function untuk memeriksa apakah stack yang ada sudah penuh.
Push : Menambahkan sebuah elemen ke dalam stack. Tidak bisa dilakukan jika stack sudah penuh.
Empty : Function untuk menentukan apakah stack kosong atau tidak.
Pop : Mengambil elemen teratas dari stack. Stack tidak boleh kosong.
Clear : Mengosongkan stack (jika top = 0, stack dianggap kosong).
Berikut merupakan contoh program stack push & pop data : Baca selebihnya »
#include <iostream.h> main() { char nama[30],almt[30],hp[30]; long int kode,tkt,jbyr,ppn,tot,ubyr,kmbl,hrg; cout<<" PT.Traveling Indonesia "<<endl; cout<<"-----------------------------------------------\n"; cout<<"Nama Penumpang : "; cin.getline(nama, sizeof (nama)); cout<<"Alamat : "; cin>>almt; cout<<"NO hp : "; cin>>hp; cout<<"Masukkan kode [1/2/3] : "; cin>>kode; switch(kode) { case 1: cout<<"------------------------------------------------\n"; cout<<"Tujuan Gorontalo - Manado "<<endl; cout<<"Jenis Pesawat : Wings Air"<<endl; cout<<"------------------------------------------------\n"; cout<<"Jumlah Tiket : "; cin>>tkt; hrg=300000; break; case 2: cout<<"------------------------------------------------\n"; cout<<"Tujuan Gorontalo - Makassar"<<endl; cout<<"Jenis Pesawat : Garuda Indonesia"<<endl; cout<<"------------------------------------------------\n"; cout<<"Jumlah Tiket : "; cin>>tkt; hrg=550000; break; case 3: cout<<"------------------------------------------------\n"; cout<<"Tujuan Gorontalo-Jakarta"<<endl; cout<<"Jenis Pesawat : Sriwijaya Airlines"<<endl; cout<<"------------------------------------------------\n"; cout<<"Jumlah Tiket : "; cin>>tkt; hrg=1000000; break; } cout<<endl<<endl; cout<<"Penumpang Yang bernama : "<<nama<<endl; cout<<"Alamat : "<<almt<<endl; cout<<"No Hp : "<<hp<<endl; cout<<"Harga Tiket : Rp. "<<hrg<<endl; jbyr=hrg*tkt; cout<<"Jumlah Bayar : "<<jbyr<<endl; ppn=jbyr*0.1; cout<<"PPN : Rp. "<<ppn<<endl; tot=jbyr+ppn; cout<<"Total Bayar : Rp. "<<tot<<endl; cout<<"Uang Bayar : Rp. "; cin>>ubyr; kmbl=ubyr-tot; cout<<"Uang Kembali : Rp. "<<kmbl<<endl<<endl; cout<<" Terima Kasih Telah Memesan Tiket di Travel Kami "; }