import java.util.Scanner;
class Node {
public String Nim;
public String Nama;
public double Ipk;
public Node next;
// -------------------------------------------------------------
public Node(String nim, String nama, double ipk) {
Nim = nim;
Nama = nama;
Ipk = ipk;
}
// -------------------------------------------------------------
public void tampilNode() {
System.out.printf(" %-8s %-13s %5s \n",Nim,Nama,Ipk);
}
public String getNIM(){
return Nim;
}
//method mengambil data nim
public String getNama(){
return Nama;
}
//method mengambil data nama
public double getIpk(){
return Ipk;
}
//method mengambil data ipk
} // end class Node
////////////////////////////////////////////////////////////////
class firstEndList {
private Node first;
private Node last;
public int nilai;
public int max;
// -------------------------------------------------------------
public firstEndList() {
nilai=0;
first = null;
last = null;
max=5;
}
// -------------------------------------------------------------
public boolean isEmpty() {
return first==null;
}
//--------------------------------------------------------------
public boolean isFull() { // bernilai true jika queue penuh
return ( nilai == max);
}
// -------------------------------------------------------------
public void insertLast(String Nim, String Nama, double Ipk) {
Node newNode = new Node(Nim,Nama, Ipk);
if( isEmpty() )
first = newNode;
else
last.next = newNode;
last = newNode;
nilai++;
}
// -------------------------------------------------------------
public Node hapusFirst() {
nilai--;
Node temp = first;
if(first.next == null)
last = null;
first = first.next;
return temp;
}
// -------------------------------------------------------------
public void tampil() {
Node indek = first;
while(indek != null) {
indek.tampilNode();
indek = indek.next;
}
System.out.println("");
}
// -------------------------------------------------------------
} // end class LinkList
////////////////////////////////////////////////////////////////
class LinkQueue {
private firstEndList list;
//--------------------------------------------------------------
public LinkQueue() {
list = new firstEndList();
}
//--------------------------------------------------------------
public boolean isEmpty() {
return list.isEmpty();
}
//--------------------------------------------------------------
public boolean isFull() {
return list.isFull();
}
//--------------------------------------------------------------
public void insert(String Nim, String Nama, double Ipk) {
list.insertLast(Nim, Nama,Ipk);
}
//--------------------------------------------------------------
public Node hapus() {
return list.hapusFirst();
}
//--------------------------------------------------------------
public void tampilQueue() {
System.out.println("Queue (awal-->akhir): ");
list.tampil();
}
//--------------------------------------------------------------
public void clear() {
while( !isEmpty() ) // hapus data sampai kosong
hapus();
}
//--------------------------------------------------------------
} // end class LinkQueue
////////////////////////////////////////////////////////////////
class Prak09_11520244043 {
public static void main(String [] args) {
Scanner sken = new Scanner(System.in);
LinkQueue queue = new LinkQueue();
String nim, nama;
double ipk;
int menu;
//pilihan menu
do{
System.out.println("--------------------");
System.out.println(" MENU PILIHAN ");
System.out.println("--------------------");
System.out.println(" 1. Tambah Data ");
System.out.println(" 2. Lihat Data ");
System.out.println(" 3. Hapus Data ");
System.out.println(" 4. Clear Data ");
System.out.println(" 5. Keluar ");
System.out.print("Pilihan anda --> : ");
menu = sken.nextInt();
System.out.println("");
switch(menu) {
case 1 : {
if(queue.isFull()){
System.out.println(" Queue sudah penuh!!! ");
}else {
System.out.println(" Input Data -->> ");
System.out.print(" Nim : ");
nim = sken.next();//Melakukan input nim
System.out.print(" Nama : ");
nama = sken.next();//Melakukan input nama
System.out.print(" Ipk : ");
ipk = sken.nextDouble();//Melakukan input ipk
queue.insert(nim,nama,ipk);
System.out.println("---------------------");
System.out.println("");
}
break;
}case 2 : {
if(queue.isEmpty()){
System.out.println(" Queue Kosong!!! ");
}else {
queue.tampilQueue();
}
break;
}case 3 : {
if(queue.isEmpty()){
System.out.println(" Queue Kosong!!! ");
}else {
System.out.println(" Hapus data -->> ");
Node y = queue.hapus();
if( y != null ){
System.out.println("-------------------------");
System.out.println(" Data sudah dihapus !!! ");
System.out.println("-------------------------");
System.out.println("");
}else{
System.out.println("--------------------------");
System.out.println("Data tidak dapat dihapus!!!");
System.out.println("--------------------------");
System.out.println("");
}
}
break;
}case 4 :{
queue.clear();//memanggil method clear pada kelas tumpukan untuk mengosongkan semua data
break;
}
}
}while(menu > 0 && menu < 5);
} // end main()
} // end class QueueWithLink
////////////////////////////////////////////////////////////////
Senin, 26 November 2012
Struktur data - LINKED LIST
//Tugas ke_tujuh
/*
Nama : Ati Tasmiati Dewi
Kelas : G2
*/
import java.util.Scanner;
class Node {
private String Nim;
private String Nama;
private double Ipk;
public Node next;
// -------------------------------------------------------------
public Node(String nim, String nama, double ipk) {
Nim = nim;
Nama = nama;
Ipk = ipk;
}
// -------------------------------------------------------------
public void tampilNode() {
System.out.printf(" %-8s %-13s %5s \n",Nim,Nama,Ipk);
}
public String getNIM(){
return Nim;
}
//method mengambil data nim
public String getNama(){
return Nama;
}
//method mengambil data nama
public double getIpk(){
return Ipk;
}
//method mengambil data ipk
} // end class Node
////////////////////////////////////////////////////////////////
class LinkList {
private Node first;
public LinkList() {
first = null;
}
// -------------------------------------------------------------
public void insertFirst(String nim, String nama, double ipk) {
Node newNode = new Node(nim, nama, ipk);
newNode.next = first;
first = newNode;
}
// -------------------------------------------------------------
// mencari data (data yang dicari --> dat)
public Node cari(String nama) {
Node indek = first; // membuat node indek yang "difungsikan" sebagai pointer dan di-set menunjuk ke Node yang ditunjuk juga oleh pointer FIRST
while(!indek.getNama().equals(nama)) {
if(indek.next == null) // jika NEXT dari Node yang ditunjuk oleh pointer indek == NULL, maka
return null; // data tidak ditemukan
else // jika tidak NULL, maka
indek = indek.next; /* lanjutkan ke node berikutnya, yaitu pointer indek di-set menunjuk ke Node yang ditunjuk oleh NEXT dari Node yang
ditunjuk oleh pointer indek mula-mula */
}
return indek; // data ditemukan
}
// -------------------------------------------------------------
// menghapus data (data yang dicari --> dat)
public Node hapus(String nim) {
Node indek1 = first; /* membuat node indek1 dan node indek2 yang "difungsikan" sebagai
pointer dan di-set menunjuk ke Node yang ditunjuk juga oleh pointer FIRST*/
Node indek2 = first;
while(!indek1.getNIM().equals(nim)) { // mencari data yang akan dihapus
if(indek1.next == null)
return null; // data tidak ditemukan
else { // jika data ditemukan, maka
indek2 = indek1; // pointer indek2 di-set untuk menunjuk ke Node yang ditunjuk oleh pointer indek1
indek1 = indek1.next; // pointer indek1 di-set untuk menunjuk ke Node yang ditunjuk oleh NEXT dari pointer indek1 sebelumnya
}
}
if(indek1 == first) // jika pointer indek1 menunjuk Node yang sama dengan yang ditunjuk oleh pointer first, maka
first = first.next; // pointer first di-set menunjuk Node yang ditunjuk oleh Next dari Node yang ditunjuk oleh pointer first sebelumnya
else
indek2.next = indek1.next; /* Next dari Node yang ditunjuk oleh pointer indek2 di-set untuk menunjuk Node yang ditunjuk oleh Next dari Node
yang ditunjuk oleh pointer indek1 */
return indek1;
}
// -------------------------------------------------------------
public void tampilList() {
Node indek = first;
System.out.println("-------------------------------");
System.out.println(" Nim Nama Ipk ");
System.out.println("-------------------------------");
//for(Node i=indek ; i!-;1--){
//while(indek != null) {
do{
indek.tampilNode();//menampilkan jika data bukan nul
indek = indek.next;//lanjut ke index selanjutnya
}
while(indek!=null);
System.out.println("-------------------------------");
System.out.println("");
}
// -------------------------------------------------------------
} // end class LinkList
////////////////////////////////////////////////////////////////
class Prak07_11520244043{
public static void main(String [] args) {
LinkList list = new LinkList();
Scanner sken = new Scanner(System.in);
String nim, nama;
double ipk;
int menu;
//pilihan menu
do{
System.out.println("--------------------");
System.out.println(" MENU PILIHAN ");
System.out.println("--------------------");
System.out.println(" 1. Tambah Data ");
System.out.println(" 2. Lihat Data ");
System.out.println(" 3. Cari Data ");
System.out.println(" 4. Hapus Data ");
System.out.println(" 5. Keluar ");
System.out.print("Pilihan anda --> : ");
menu = sken.nextInt();
System.out.println("");
switch(menu) {
case 1 : {
System.out.println(" Input Data -->> ");
System.out.print(" Nim : ");
nim = sken.next();//Melakukan input nim
System.out.print(" Nama : ");
nama = sken.next();//Melakukan input nama
System.out.print(" Ipk : ");
ipk = sken.nextDouble();//Melakukan input ipk
list.insertFirst(nim,nama,ipk);
System.out.println("---------------------");
System.out.println("");
break;
}case 2 : {
list.tampilList();
break;
}case 3 : {
System.out.println(" Cari data -->> ");
System.out.print(" Masukkan NAMA : ");
nama = sken.next();//Melakukan input nim
System.out.println("---------------------");
System.out.println("");
System.out.println("---------------------");
System.out.println(" Hasil cari ");
System.out.println("---------------------");
System.out.println(" Nama Mahasiswa : "+nama);
Node x = list.cari(nama);
if( x != null){
System.out.println("-----------------------");
System.out.println(" Data ditemukan !!! ");
System.out.println("-----------------------");
System.out.println("");
}else{
System.out.println("------------------------");
System.out.println(" Data tidak ditemukan ");
System.out.println("------------------------");
System.out.println("");
}
break;
}case 4 :{
System.out.println(" Hapus data -->> ");
System.out.print(" Masukkan Nim : ");
nim = sken.next();//Melakukan input nim
System.out.println("---------------------");
System.out.println("");
System.out.println("---------------------");
System.out.println(" Hapus Data ");
System.out.println("---------------------");
System.out.println(" Nim Mahasiswa : "+nim);
Node y = list.hapus(nim);
if( y != null ){
System.out.println("-------------------------");
System.out.println(" Data sudah dihapus !!! ");
System.out.println("-------------------------");
System.out.println("");
}else{
System.out.println("--------------------------");
System.out.println("Data tidak dapat dihapus!!");
System.out.println("--------------------------");
System.out.println("");
}
break;
}
}
}while(menu > 0 && menu < 5);
} // end main()
} // end class LinkList2App
////////////////////////////////////////////////////////////////
/*
Nama : Ati Tasmiati Dewi
Kelas : G2
*/
import java.util.Scanner;
class Node {
private String Nim;
private String Nama;
private double Ipk;
public Node next;
// -------------------------------------------------------------
public Node(String nim, String nama, double ipk) {
Nim = nim;
Nama = nama;
Ipk = ipk;
}
// -------------------------------------------------------------
public void tampilNode() {
System.out.printf(" %-8s %-13s %5s \n",Nim,Nama,Ipk);
}
public String getNIM(){
return Nim;
}
//method mengambil data nim
public String getNama(){
return Nama;
}
//method mengambil data nama
public double getIpk(){
return Ipk;
}
//method mengambil data ipk
} // end class Node
////////////////////////////////////////////////////////////////
class LinkList {
private Node first;
public LinkList() {
first = null;
}
// -------------------------------------------------------------
public void insertFirst(String nim, String nama, double ipk) {
Node newNode = new Node(nim, nama, ipk);
newNode.next = first;
first = newNode;
}
// -------------------------------------------------------------
// mencari data (data yang dicari --> dat)
public Node cari(String nama) {
Node indek = first; // membuat node indek yang "difungsikan" sebagai pointer dan di-set menunjuk ke Node yang ditunjuk juga oleh pointer FIRST
while(!indek.getNama().equals(nama)) {
if(indek.next == null) // jika NEXT dari Node yang ditunjuk oleh pointer indek == NULL, maka
return null; // data tidak ditemukan
else // jika tidak NULL, maka
indek = indek.next; /* lanjutkan ke node berikutnya, yaitu pointer indek di-set menunjuk ke Node yang ditunjuk oleh NEXT dari Node yang
ditunjuk oleh pointer indek mula-mula */
}
return indek; // data ditemukan
}
// -------------------------------------------------------------
// menghapus data (data yang dicari --> dat)
public Node hapus(String nim) {
Node indek1 = first; /* membuat node indek1 dan node indek2 yang "difungsikan" sebagai
pointer dan di-set menunjuk ke Node yang ditunjuk juga oleh pointer FIRST*/
Node indek2 = first;
while(!indek1.getNIM().equals(nim)) { // mencari data yang akan dihapus
if(indek1.next == null)
return null; // data tidak ditemukan
else { // jika data ditemukan, maka
indek2 = indek1; // pointer indek2 di-set untuk menunjuk ke Node yang ditunjuk oleh pointer indek1
indek1 = indek1.next; // pointer indek1 di-set untuk menunjuk ke Node yang ditunjuk oleh NEXT dari pointer indek1 sebelumnya
}
}
if(indek1 == first) // jika pointer indek1 menunjuk Node yang sama dengan yang ditunjuk oleh pointer first, maka
first = first.next; // pointer first di-set menunjuk Node yang ditunjuk oleh Next dari Node yang ditunjuk oleh pointer first sebelumnya
else
indek2.next = indek1.next; /* Next dari Node yang ditunjuk oleh pointer indek2 di-set untuk menunjuk Node yang ditunjuk oleh Next dari Node
yang ditunjuk oleh pointer indek1 */
return indek1;
}
// -------------------------------------------------------------
public void tampilList() {
Node indek = first;
System.out.println("-------------------------------");
System.out.println(" Nim Nama Ipk ");
System.out.println("-------------------------------");
//for(Node i=indek ; i!-;1--){
//while(indek != null) {
do{
indek.tampilNode();//menampilkan jika data bukan nul
indek = indek.next;//lanjut ke index selanjutnya
}
while(indek!=null);
System.out.println("-------------------------------");
System.out.println("");
}
// -------------------------------------------------------------
} // end class LinkList
////////////////////////////////////////////////////////////////
class Prak07_11520244043{
public static void main(String [] args) {
LinkList list = new LinkList();
Scanner sken = new Scanner(System.in);
String nim, nama;
double ipk;
int menu;
//pilihan menu
do{
System.out.println("--------------------");
System.out.println(" MENU PILIHAN ");
System.out.println("--------------------");
System.out.println(" 1. Tambah Data ");
System.out.println(" 2. Lihat Data ");
System.out.println(" 3. Cari Data ");
System.out.println(" 4. Hapus Data ");
System.out.println(" 5. Keluar ");
System.out.print("Pilihan anda --> : ");
menu = sken.nextInt();
System.out.println("");
switch(menu) {
case 1 : {
System.out.println(" Input Data -->> ");
System.out.print(" Nim : ");
nim = sken.next();//Melakukan input nim
System.out.print(" Nama : ");
nama = sken.next();//Melakukan input nama
System.out.print(" Ipk : ");
ipk = sken.nextDouble();//Melakukan input ipk
list.insertFirst(nim,nama,ipk);
System.out.println("---------------------");
System.out.println("");
break;
}case 2 : {
list.tampilList();
break;
}case 3 : {
System.out.println(" Cari data -->> ");
System.out.print(" Masukkan NAMA : ");
nama = sken.next();//Melakukan input nim
System.out.println("---------------------");
System.out.println("");
System.out.println("---------------------");
System.out.println(" Hasil cari ");
System.out.println("---------------------");
System.out.println(" Nama Mahasiswa : "+nama);
Node x = list.cari(nama);
if( x != null){
System.out.println("-----------------------");
System.out.println(" Data ditemukan !!! ");
System.out.println("-----------------------");
System.out.println("");
}else{
System.out.println("------------------------");
System.out.println(" Data tidak ditemukan ");
System.out.println("------------------------");
System.out.println("");
}
break;
}case 4 :{
System.out.println(" Hapus data -->> ");
System.out.print(" Masukkan Nim : ");
nim = sken.next();//Melakukan input nim
System.out.println("---------------------");
System.out.println("");
System.out.println("---------------------");
System.out.println(" Hapus Data ");
System.out.println("---------------------");
System.out.println(" Nim Mahasiswa : "+nim);
Node y = list.hapus(nim);
if( y != null ){
System.out.println("-------------------------");
System.out.println(" Data sudah dihapus !!! ");
System.out.println("-------------------------");
System.out.println("");
}else{
System.out.println("--------------------------");
System.out.println("Data tidak dapat dihapus!!");
System.out.println("--------------------------");
System.out.println("");
}
break;
}
}
}while(menu > 0 && menu < 5);
} // end main()
} // end class LinkList2App
////////////////////////////////////////////////////////////////
Struktur Data - Program Queue
// Tugas queue( Tugas Ke_Enam )
/*
Nama : Ati Tasmiati Dewi
Nim : 11520244043
*/
////////////////////////////////////////////////////////////////
import java.util.Scanner;
import java.io.*;
class antrian {
private int max;
private long[] isi;
private int ekor; // variabel untuk mengidentifikasi data paling akhir masuk ke queue
//--------------------------------------------------------------
public antrian(int n) { // constructor
max = n;
isi = new long[max];
ekor = -1; // mula-mula queue kosong (inisialisasi)
}
//--------------------------------------------------------------
public boolean isFull() { // bernilai true jika queue penuh
return (ekor == max-1);
}
//--------------------------------------------------------------
public boolean isEmpty() { // bernilai true jika queue kosong
return (ekor == -1);
}
//--------------------------------------------------------------
public void enQueue(long j) { // memasukkan data di bagian paling belakang dari antrian
ekor++; // increment ekor
isi[ekor] = j; // masukkan data
}
//--------------------------------------------------------------
public void deQueue() { // ambil data di bagian depan dari queue
for(int i=0; i<ekor; i++)
isi[i]=isi[i+1];
ekor--;
}
//--------------------------------------------------------------
public long peek() { // melihat data di bagian paling depan dari queue
return isi[0];
}
//--------------------------------------------------------------
/* method ini sebenarnya tidak ada dalam queue karena dalam queue
data yang bisa diakses HANYA data paling awal masuk queue */
public void tampil() { // menampilkan isi dari queue
for(int i=0; i<ekor+1; i++) {
System.out.print(isi[i]);
System.out.print(" ");
}
System.out.println("");
}
//--------------------------------------------------------------
public void clear() {
while( !isEmpty() ) // hapus data sampai kosong
deQueue();
}
//--------------------------------------------------------------
} // end class antrian
////////////////////////////////////////////////////////////////
class javaQueue {
public static void main(String[] args) {
antrian antri = new antrian(5); // queue menampung sampai 5 data
int menu;
do {
System.out.println(" ---------- ");
System.out.println(" Pilih Menu ");
System.out.println(" ---------- ");
System.out.println(" 1. Tambah data queue ");
System.out.println(" 2. Ambil data queue ");
System.out.println(" 3. Lihat data queue ");
System.out.println(" 4. Buat queue baru ");
System.out.println(" 5. Keluar ");
System.out.println(" ----------------- ");
System.out.println(" Pilihan anda --> : ");
System.out.println(" ----------------- ");
Scanner input = new Scanner(System.in);
menu = input.nextInt();
System.out.println("");
//--------------------------------------------------------------
switch(menu) {
case 1 : {
if(antri.isFull()) System.out.println(" Queue sudah penuh! ");
else {
System.out.print(" Datanya --> ");
long data = input.nextLong();
antri.enQueue(data);
}
break;
}
case 2 : {
if(antri.isEmpty()) System.out.println(" Queue kosong! ");
else {
System.out.println(" Data " + antri.peek() + " diambil ");
antri.deQueue();
}
break;
}
case 3 : {
if(antri.isEmpty()) System.out.println(" Queue kosong! ");
else
antri.tampil();
break;
}
case 4 : antri.clear();
break;
}
} while(menu > 0 && menu < 5);
} // end main()
} // end class javaQueue
/*
Nama : Ati Tasmiati Dewi
Nim : 11520244043
*/
////////////////////////////////////////////////////////////////
import java.util.Scanner;
import java.io.*;
class antrian {
private int max;
private long[] isi;
private int ekor; // variabel untuk mengidentifikasi data paling akhir masuk ke queue
//--------------------------------------------------------------
public antrian(int n) { // constructor
max = n;
isi = new long[max];
ekor = -1; // mula-mula queue kosong (inisialisasi)
}
//--------------------------------------------------------------
public boolean isFull() { // bernilai true jika queue penuh
return (ekor == max-1);
}
//--------------------------------------------------------------
public boolean isEmpty() { // bernilai true jika queue kosong
return (ekor == -1);
}
//--------------------------------------------------------------
public void enQueue(long j) { // memasukkan data di bagian paling belakang dari antrian
ekor++; // increment ekor
isi[ekor] = j; // masukkan data
}
//--------------------------------------------------------------
public void deQueue() { // ambil data di bagian depan dari queue
for(int i=0; i<ekor; i++)
isi[i]=isi[i+1];
ekor--;
}
//--------------------------------------------------------------
public long peek() { // melihat data di bagian paling depan dari queue
return isi[0];
}
//--------------------------------------------------------------
/* method ini sebenarnya tidak ada dalam queue karena dalam queue
data yang bisa diakses HANYA data paling awal masuk queue */
public void tampil() { // menampilkan isi dari queue
for(int i=0; i<ekor+1; i++) {
System.out.print(isi[i]);
System.out.print(" ");
}
System.out.println("");
}
//--------------------------------------------------------------
public void clear() {
while( !isEmpty() ) // hapus data sampai kosong
deQueue();
}
//--------------------------------------------------------------
} // end class antrian
////////////////////////////////////////////////////////////////
class javaQueue {
public static void main(String[] args) {
antrian antri = new antrian(5); // queue menampung sampai 5 data
int menu;
do {
System.out.println(" ---------- ");
System.out.println(" Pilih Menu ");
System.out.println(" ---------- ");
System.out.println(" 1. Tambah data queue ");
System.out.println(" 2. Ambil data queue ");
System.out.println(" 3. Lihat data queue ");
System.out.println(" 4. Buat queue baru ");
System.out.println(" 5. Keluar ");
System.out.println(" ----------------- ");
System.out.println(" Pilihan anda --> : ");
System.out.println(" ----------------- ");
Scanner input = new Scanner(System.in);
menu = input.nextInt();
System.out.println("");
//--------------------------------------------------------------
switch(menu) {
case 1 : {
if(antri.isFull()) System.out.println(" Queue sudah penuh! ");
else {
System.out.print(" Datanya --> ");
long data = input.nextLong();
antri.enQueue(data);
}
break;
}
case 2 : {
if(antri.isEmpty()) System.out.println(" Queue kosong! ");
else {
System.out.println(" Data " + antri.peek() + " diambil ");
antri.deQueue();
}
break;
}
case 3 : {
if(antri.isEmpty()) System.out.println(" Queue kosong! ");
else
antri.tampil();
break;
}
case 4 : antri.clear();
break;
}
} while(menu > 0 && menu < 5);
} // end main()
} // end class javaQueue
Struktur Data ke 5
// tugas ke_lima
/*
Nama : Ati Tasmiati Dewi
NIM : 11520244043
*/
import java.util.Scanner;
/////////////////////////////////////////////////////////////////
class mahasiswa { // mahasiswa mempunyai 3 data, nim, nama, dan ipk
private String nimMhs;
private String namaMhs;
private double ipkMhs;
//--------------------------------------------------------------
// constructor
// berguna juga untuk "memasukkan" data mahasiswa
public mahasiswa(String nim, String nama, double ipk) {
nimMhs = nim;
namaMhs = nama;
ipkMhs = ipk;
}
//--------------------------------------------------------------
// method untuk menampilkan data mahasiswa
public void lihatData() {
System.out.println(nimMhs + " --> " + namaMhs + " --> " + ipkMhs);
}
//--------------------------------------------------------------
// method memperoleh (mengambil) data nama
public String getNama(){
return namaMhs;
}
public String getNIM(){
return nimMhs;
}
public double getIpk(){
return ipkMhs;
}
} // end class mahasiswa
/////////////////////////////////////////////////////////////////
class arai {
private mahasiswa[] dt; // array
private int jml_data;
private int i;
//--------------------------------------------------------------
public arai(int max) { // constructor
dt = new mahasiswa[max];
jml_data = 0; // jumlah data mula-mula nol
}
//--------------------------------------------------------------
// method input untuk memasukkan data ke dalam array
public void input(String nim, String nama, double ipk) {
dt[jml_data] = new mahasiswa(nim,nama,ipk);
jml_data++; // jika ada data masuk maka jumlah datanya bertambah
}
//--------------------------------------------------------------
// method dataArai untuk menampilkan data yang ada dalam array
// method tidak mengembalikan nilai (menggunakan void) --> PROCEDURE
public void dataArai() { // menampilkan isi dari array
System.out.println("");
System.out.println("----------------------------");
System.out.println("NIM Nama IPK");
System.out.println("----------------------------");
for(i=0; i<jml_data; i++)
dt[i].lihatData();
System.out.println("----------------------------");
System.out.println("");
}
//--------------------------------------------------------------
// method cari untuk mencari data yang ada dalam array
// method mengembalikan nilai (tidak menggunakan void) --> FUNCTION
// pencarian data berdasarkan nama mahasiswa
public boolean cari(String cr) {
for(i=0; i<jml_data; i++) // mencari data pada setiap elemen array
if( dt[i].getNama().equals(cr) ) // membandingkan data pada array dengan yang dicari
break; // jika sama maka pencarian dihentikan
if(i == jml_data) // apakah pencarian yang dilakukan sebanyak jumlah elemen array?
return false; // jika true data TIDAK ditemukan (false)
else
return true; // jika false data ditemukan (true)
}
public boolean cari2(String nim){
for(i=0; i<jml_data; i++) // mencari data pada setiap elemen array
if( dt[i].getNIM().equals(nim) ) // membandingkan data pada array dengan yang dicari
break; // jika sama maka pencarian dihentikan
if(i == jml_data) // apakah pencarian yang dilakukan sebanyak jumlah elemen array?
return false; // jika true data TIDAK ditemukan (false)
else
return true; // jika false data ditemukan (true)
}
public void ketemu(String cr){
for(i=0; i<jml_data; i++) // mencari data pada setiap elemen array
if( dt[i].getNama().equals(cr) ) // membandingkan data pada array dengan yang dicari
System.out.println("NIM : "+dt[i].getNIM()+"\nNama : "+dt[i].getNama()+"\nIPK : "+dt[i].getIpk());
System.out.println("");
//menampilkan data nama NIM sama IPK
}
public void cariIPK(double cari){
int jum=0;
for(i=0; i<jml_data; i++){
if(dt[i].getIpk()==cari ){
System.out.println("");
System.out.println(" Nim : "+dt[i].getNIM() +"\nNama : "+dt[i].getNama() +"\nIPK : "+dt[i].getIpk());
jum++;
}
}
System.out.println("");
System.out.println(" Ditemukan IPK "+cari+" dengan jumlah "+jum+" orang");
if(jum==0){
System.out.println(" Atau IPK "+jum+" tidak ditemukan ");
}
}
//--------------------------------------------------------------
// method hapus untuk menghapus data yang ada dalam array
// method mengembalikan nilai (tidak menggunakan void) --> FUNCTION
public boolean hapus(String hps) {
boolean cri = cari(hps); // memanggil method cari
if (cri==true) { // bila data ditemukan maka dihapus
for(int j=i; j<jml_data-1; j++)
dt[j] = dt[j+1];
jml_data--; // jangan lupa jumlah data dikurangi satu!!!
return true;
}
else // bila data tidak ditemukan
return false;
}
public boolean cariNIM(String cari){
for(i=0; i<jml_data; i++)//mencari data pada setiap elemen array
if(dt[i].getNIM().equals(cari)) //membandingkan data pada array dengan yang dicari
break; //jika sama maka pencarian dihentikan
if(i==jml_data) //apakah pencarian yang dilakukan sebanyak jumlah elemen array?
return false;//mengembalikan nilai false
else
return true; //mengembalikan nilai true
}//End metod cariNIM
public void ketemuNIM(String cari){
String nim, nama; double ipk; //mendeklarasikan tipe data
String inputNIM, inputNAMA; double inputIPK;//mendeklarasikan tipe data
int submenu;//mendeklarasikan tipe data
Scanner sken= new Scanner(System.in);
for(i=0; i<jml_data; i++)//mencari data pada setiap elemen array
if(dt[i].getNIM().equals(cari)){//membandingkan data pada array dengan yang dicari
do{
nim=dt[i].getNIM();//proses pengambilan nilai pada array yang equals dengan yang dicari
nama=dt[i].getNama();//proses pengambilan nilai pada array yang equals dengan yang dicari
ipk=dt[i].getIpk();//proses pengambilan nilai pada array yang equals dengan yang dicari
System.out.println(" 1. NIM : "+nim);
System.out.println(" 2. NAMA : "+nama);
System.out.println(" 3. IPK : "+ipk);
System.out.println(" 4. KELUAR ");
System.out.print(" Menu Pilihan Data yang diubah : ");
submenu = sken.nextInt(); //inputan pilihan yang disimpan pada submenu
if(submenu==1){
System.out.println(" Masukkan NIM baru : ");
inputNIM = sken.next();//melakukan input NIM yang baru lalu disimpan pada inputNIM
dt[i] = new mahasiswa(inputNIM,nama,ipk);//mengganti isi data pada data array yang diinginkan untuk diganti
}else if(submenu==2){
System.out.println(" Masukkan NAMA yang baru : ");
inputNAMA =sken.next();//melakukan input nama yang baru lalu disimpan pada inputNAMA
dt[i] = new mahasiswa(nim,inputNAMA,ipk);//mengganti isi data pada data array yang diinginkan untuk diganti
}else if(submenu==3){
System.out.print(" Masukkan IPK yang baru : ");
inputIPK=sken.nextDouble();//melakukan input IPK yang baru lalu disimpan pada inputIPK
dt[i]=new mahasiswa(nim,nama,inputIPK);//mengganti isi data pada data array yang diinginkan untuk diganti
}
}while (submenu >= 1 && submenu < 4); //proses pengulangan jika nilai lebih besar =1 dan lebih kecil dari 4
}//End if
}//End metod ketemuNIM
}//End class metod
/////////////////////////////////////////////////////////////////////////
class Prak05_11520244043 {
public static void main(String[] args) {
int i=1, jml_arai=100;
Scanner sken = new Scanner(System.in);
arai md = new arai(jml_arai); // memanggil class metod dengan variabel md
String nim, nama, cariData;
double ipk, cariIPK;
//----------------------------------------------------------------------
int menu;
int pilih;
do {
System.out.println("");
System.out.println(" ----------------------- ");
System.out.println(" Pilih Menu di bawah ini ");
System.out.println(" ----------------------- ");
System.out.println(" 1. Memasukkan data ");
System.out.println(" 2. Pencarian data ");
System.out.println(" 3. Penghapusan data ");
System.out.println(" 4. Pembaharuan data ");
System.out.println(" 5. Penampilan data ");
System.out.println(" 6. Keluar ");
System.out.print(" Anda memilih : ");
menu = sken.nextInt();
if (menu==1){
do{
System.out.println(" Masukkan data mahasiswa ke-" + i);
System.out.print(" NIM : ");
nim = sken.next();
System.out.print(" Nama : ");
nama = sken.next();
System.out.print(" IPK : ");
ipk = sken.nextDouble();
boolean cri=md.cari2(nim);
if(cri==true){
System.out.println(" Sudah ada mahasiswa dengan nim "+nim);
System.out.println("");
}else{
md.input(nim,nama,ipk); // memanggil method input pada class metod
i++;
break;
}
}while(true);
}
if (menu==2) {
do{
System.out.println("");
System.out.println(" -------------- ");
System.out.println(" Menu Pencarian ");
System.out.println(" -------------- ");
System.out.println(" 1. Pencarian Nama ");
System.out.println(" 2. Pencarian IPK ");
System.out.println(" 3. Keluar ");
System.out.print(" Masukkan Menu yang dipilih : ");
pilih=sken.nextInt();
if (pilih==1){
System.out.print(" Masukkan Nama yang Anda Cari : ");
cariData=sken.next();
boolean hasil = md.cari(cariData); // memanggil method cari pada class metod
if (hasil==true){
System.out.println("");
System.out.println(" ------------------------ ");
System.out.println(" Nama Mahasiswa ditemukan ");
System.out.println(" ------------------------ ");
md.ketemu(cariData);
}else{
System.out.println(" Nama " + cariData + " tidak ditemukan ");
}
System.out.println("");
}else if(pilih==2){
System.out.print(" Masukkan IPK yang Anda Cari : ");
cariIPK=sken.nextDouble();
md.cariIPK(cariIPK);
}
}while(pilih >= 1 && pilih < 3);
} else if (menu==3) {
System.out.print(" Data yang anda hapus = ");
cariData = sken.next();
boolean sts = md.hapus(cariData); // memanggil method hapus pada class metod
if (sts==true)
System.out.println(" Data " + cariData + " berhasil dihapus ");
else
System.out.println(" Data " + cariData + " TIDAK ditemukan ");
System.out.println("");
} else if (menu==4) {
System.out.print(" Masukkan NIM yang dicari : ");
String cariNIM = sken.next();//input NIM yang dicari
boolean hasilNIM = md.cariNIM(cariNIM);//memanggil method cariNIM pada class metod
if(hasilNIM==true){
System.out.println("");
System.out.println(" ----------------------- ");
System.out.println(" NIM mahasiswa ditemukan ");
System.out.println(" ----------------------- ");
md.ketemuNIM(cariNIM);//memanggil method ketemuNIM pada class metod
}else{
System.out.println(" NIM " + cariNIM + " tidak ditemukan ! ");//command jika NIM tidak ditemukan atau false
}
System.out.println("");
}else if(menu==5){
md.dataArai();
}
}while (menu >=1 && menu <6);
}//End main()
}//End class
/*
Nama : Ati Tasmiati Dewi
NIM : 11520244043
*/
import java.util.Scanner;
/////////////////////////////////////////////////////////////////
class mahasiswa { // mahasiswa mempunyai 3 data, nim, nama, dan ipk
private String nimMhs;
private String namaMhs;
private double ipkMhs;
//--------------------------------------------------------------
// constructor
// berguna juga untuk "memasukkan" data mahasiswa
public mahasiswa(String nim, String nama, double ipk) {
nimMhs = nim;
namaMhs = nama;
ipkMhs = ipk;
}
//--------------------------------------------------------------
// method untuk menampilkan data mahasiswa
public void lihatData() {
System.out.println(nimMhs + " --> " + namaMhs + " --> " + ipkMhs);
}
//--------------------------------------------------------------
// method memperoleh (mengambil) data nama
public String getNama(){
return namaMhs;
}
public String getNIM(){
return nimMhs;
}
public double getIpk(){
return ipkMhs;
}
} // end class mahasiswa
/////////////////////////////////////////////////////////////////
class arai {
private mahasiswa[] dt; // array
private int jml_data;
private int i;
//--------------------------------------------------------------
public arai(int max) { // constructor
dt = new mahasiswa[max];
jml_data = 0; // jumlah data mula-mula nol
}
//--------------------------------------------------------------
// method input untuk memasukkan data ke dalam array
public void input(String nim, String nama, double ipk) {
dt[jml_data] = new mahasiswa(nim,nama,ipk);
jml_data++; // jika ada data masuk maka jumlah datanya bertambah
}
//--------------------------------------------------------------
// method dataArai untuk menampilkan data yang ada dalam array
// method tidak mengembalikan nilai (menggunakan void) --> PROCEDURE
public void dataArai() { // menampilkan isi dari array
System.out.println("");
System.out.println("----------------------------");
System.out.println("NIM Nama IPK");
System.out.println("----------------------------");
for(i=0; i<jml_data; i++)
dt[i].lihatData();
System.out.println("----------------------------");
System.out.println("");
}
//--------------------------------------------------------------
// method cari untuk mencari data yang ada dalam array
// method mengembalikan nilai (tidak menggunakan void) --> FUNCTION
// pencarian data berdasarkan nama mahasiswa
public boolean cari(String cr) {
for(i=0; i<jml_data; i++) // mencari data pada setiap elemen array
if( dt[i].getNama().equals(cr) ) // membandingkan data pada array dengan yang dicari
break; // jika sama maka pencarian dihentikan
if(i == jml_data) // apakah pencarian yang dilakukan sebanyak jumlah elemen array?
return false; // jika true data TIDAK ditemukan (false)
else
return true; // jika false data ditemukan (true)
}
public boolean cari2(String nim){
for(i=0; i<jml_data; i++) // mencari data pada setiap elemen array
if( dt[i].getNIM().equals(nim) ) // membandingkan data pada array dengan yang dicari
break; // jika sama maka pencarian dihentikan
if(i == jml_data) // apakah pencarian yang dilakukan sebanyak jumlah elemen array?
return false; // jika true data TIDAK ditemukan (false)
else
return true; // jika false data ditemukan (true)
}
public void ketemu(String cr){
for(i=0; i<jml_data; i++) // mencari data pada setiap elemen array
if( dt[i].getNama().equals(cr) ) // membandingkan data pada array dengan yang dicari
System.out.println("NIM : "+dt[i].getNIM()+"\nNama : "+dt[i].getNama()+"\nIPK : "+dt[i].getIpk());
System.out.println("");
//menampilkan data nama NIM sama IPK
}
public void cariIPK(double cari){
int jum=0;
for(i=0; i<jml_data; i++){
if(dt[i].getIpk()==cari ){
System.out.println("");
System.out.println(" Nim : "+dt[i].getNIM() +"\nNama : "+dt[i].getNama() +"\nIPK : "+dt[i].getIpk());
jum++;
}
}
System.out.println("");
System.out.println(" Ditemukan IPK "+cari+" dengan jumlah "+jum+" orang");
if(jum==0){
System.out.println(" Atau IPK "+jum+" tidak ditemukan ");
}
}
//--------------------------------------------------------------
// method hapus untuk menghapus data yang ada dalam array
// method mengembalikan nilai (tidak menggunakan void) --> FUNCTION
public boolean hapus(String hps) {
boolean cri = cari(hps); // memanggil method cari
if (cri==true) { // bila data ditemukan maka dihapus
for(int j=i; j<jml_data-1; j++)
dt[j] = dt[j+1];
jml_data--; // jangan lupa jumlah data dikurangi satu!!!
return true;
}
else // bila data tidak ditemukan
return false;
}
public boolean cariNIM(String cari){
for(i=0; i<jml_data; i++)//mencari data pada setiap elemen array
if(dt[i].getNIM().equals(cari)) //membandingkan data pada array dengan yang dicari
break; //jika sama maka pencarian dihentikan
if(i==jml_data) //apakah pencarian yang dilakukan sebanyak jumlah elemen array?
return false;//mengembalikan nilai false
else
return true; //mengembalikan nilai true
}//End metod cariNIM
public void ketemuNIM(String cari){
String nim, nama; double ipk; //mendeklarasikan tipe data
String inputNIM, inputNAMA; double inputIPK;//mendeklarasikan tipe data
int submenu;//mendeklarasikan tipe data
Scanner sken= new Scanner(System.in);
for(i=0; i<jml_data; i++)//mencari data pada setiap elemen array
if(dt[i].getNIM().equals(cari)){//membandingkan data pada array dengan yang dicari
do{
nim=dt[i].getNIM();//proses pengambilan nilai pada array yang equals dengan yang dicari
nama=dt[i].getNama();//proses pengambilan nilai pada array yang equals dengan yang dicari
ipk=dt[i].getIpk();//proses pengambilan nilai pada array yang equals dengan yang dicari
System.out.println(" 1. NIM : "+nim);
System.out.println(" 2. NAMA : "+nama);
System.out.println(" 3. IPK : "+ipk);
System.out.println(" 4. KELUAR ");
System.out.print(" Menu Pilihan Data yang diubah : ");
submenu = sken.nextInt(); //inputan pilihan yang disimpan pada submenu
if(submenu==1){
System.out.println(" Masukkan NIM baru : ");
inputNIM = sken.next();//melakukan input NIM yang baru lalu disimpan pada inputNIM
dt[i] = new mahasiswa(inputNIM,nama,ipk);//mengganti isi data pada data array yang diinginkan untuk diganti
}else if(submenu==2){
System.out.println(" Masukkan NAMA yang baru : ");
inputNAMA =sken.next();//melakukan input nama yang baru lalu disimpan pada inputNAMA
dt[i] = new mahasiswa(nim,inputNAMA,ipk);//mengganti isi data pada data array yang diinginkan untuk diganti
}else if(submenu==3){
System.out.print(" Masukkan IPK yang baru : ");
inputIPK=sken.nextDouble();//melakukan input IPK yang baru lalu disimpan pada inputIPK
dt[i]=new mahasiswa(nim,nama,inputIPK);//mengganti isi data pada data array yang diinginkan untuk diganti
}
}while (submenu >= 1 && submenu < 4); //proses pengulangan jika nilai lebih besar =1 dan lebih kecil dari 4
}//End if
}//End metod ketemuNIM
}//End class metod
/////////////////////////////////////////////////////////////////////////
class Prak05_11520244043 {
public static void main(String[] args) {
int i=1, jml_arai=100;
Scanner sken = new Scanner(System.in);
arai md = new arai(jml_arai); // memanggil class metod dengan variabel md
String nim, nama, cariData;
double ipk, cariIPK;
//----------------------------------------------------------------------
int menu;
int pilih;
do {
System.out.println("");
System.out.println(" ----------------------- ");
System.out.println(" Pilih Menu di bawah ini ");
System.out.println(" ----------------------- ");
System.out.println(" 1. Memasukkan data ");
System.out.println(" 2. Pencarian data ");
System.out.println(" 3. Penghapusan data ");
System.out.println(" 4. Pembaharuan data ");
System.out.println(" 5. Penampilan data ");
System.out.println(" 6. Keluar ");
System.out.print(" Anda memilih : ");
menu = sken.nextInt();
if (menu==1){
do{
System.out.println(" Masukkan data mahasiswa ke-" + i);
System.out.print(" NIM : ");
nim = sken.next();
System.out.print(" Nama : ");
nama = sken.next();
System.out.print(" IPK : ");
ipk = sken.nextDouble();
boolean cri=md.cari2(nim);
if(cri==true){
System.out.println(" Sudah ada mahasiswa dengan nim "+nim);
System.out.println("");
}else{
md.input(nim,nama,ipk); // memanggil method input pada class metod
i++;
break;
}
}while(true);
}
if (menu==2) {
do{
System.out.println("");
System.out.println(" -------------- ");
System.out.println(" Menu Pencarian ");
System.out.println(" -------------- ");
System.out.println(" 1. Pencarian Nama ");
System.out.println(" 2. Pencarian IPK ");
System.out.println(" 3. Keluar ");
System.out.print(" Masukkan Menu yang dipilih : ");
pilih=sken.nextInt();
if (pilih==1){
System.out.print(" Masukkan Nama yang Anda Cari : ");
cariData=sken.next();
boolean hasil = md.cari(cariData); // memanggil method cari pada class metod
if (hasil==true){
System.out.println("");
System.out.println(" ------------------------ ");
System.out.println(" Nama Mahasiswa ditemukan ");
System.out.println(" ------------------------ ");
md.ketemu(cariData);
}else{
System.out.println(" Nama " + cariData + " tidak ditemukan ");
}
System.out.println("");
}else if(pilih==2){
System.out.print(" Masukkan IPK yang Anda Cari : ");
cariIPK=sken.nextDouble();
md.cariIPK(cariIPK);
}
}while(pilih >= 1 && pilih < 3);
} else if (menu==3) {
System.out.print(" Data yang anda hapus = ");
cariData = sken.next();
boolean sts = md.hapus(cariData); // memanggil method hapus pada class metod
if (sts==true)
System.out.println(" Data " + cariData + " berhasil dihapus ");
else
System.out.println(" Data " + cariData + " TIDAK ditemukan ");
System.out.println("");
} else if (menu==4) {
System.out.print(" Masukkan NIM yang dicari : ");
String cariNIM = sken.next();//input NIM yang dicari
boolean hasilNIM = md.cariNIM(cariNIM);//memanggil method cariNIM pada class metod
if(hasilNIM==true){
System.out.println("");
System.out.println(" ----------------------- ");
System.out.println(" NIM mahasiswa ditemukan ");
System.out.println(" ----------------------- ");
md.ketemuNIM(cariNIM);//memanggil method ketemuNIM pada class metod
}else{
System.out.println(" NIM " + cariNIM + " tidak ditemukan ! ");//command jika NIM tidak ditemukan atau false
}
System.out.println("");
}else if(menu==5){
md.dataArai();
}
}while (menu >=1 && menu <6);
}//End main()
}//End class
Struktur data & Menu edit
// tugas ke_empat
/*
Nama : Ati Tasmiati Dewi
NIM : 11520244043
*/
import java.util.Scanner;
/////////////////////////////////////////////////////////////////
class mahasiswa { // mahasiswa mempunyai 3 data, nim, nama, dan ipk
private String nimMhs;
private String namaMhs;
private double ipkMhs;
//--------------------------------------------------------------
// constructor
// berguna juga untuk "memasukkan" data mahasiswa
public mahasiswa(String nim, String nama, double ipk) {
nimMhs = nim;
namaMhs = nama;
ipkMhs = ipk;
}
//--------------------------------------------------------------
// method untuk menampilkan data mahasiswa
public void lihatData() {
System.out.println(nimMhs + " --> " + namaMhs + " --> " + ipkMhs);
}
//--------------------------------------------------------------
// method memperoleh (mengambil) data nama
public String getNama(){
return namaMhs;
}
public String getNIM(){
return nimMhs;
}
public double getIpk(){
return ipkMhs;
}
} // end class mahasiswa
/////////////////////////////////////////////////////////////////
class arai {
private mahasiswa[] dt; // array
private int jml_data;
private int i;
//--------------------------------------------------------------
public arai(int max) { // constructor
dt = new mahasiswa[max];
jml_data = 0; // jumlah data mula-mula nol
}
//--------------------------------------------------------------
// method input untuk memasukkan data ke dalam array
public void input(String nim, String nama, double ipk) {
dt[jml_data] = new mahasiswa(nim,nama,ipk);
jml_data++; // jika ada data masuk maka jumlah datanya bertambah
}
//--------------------------------------------------------------
// method dataArai untuk menampilkan data yang ada dalam array
// method tidak mengembalikan nilai (menggunakan void) --> PROCEDURE
public void dataArai() { // menampilkan isi dari array
System.out.println("");
System.out.println("----------------------------");
System.out.println("NIM Nama IPK");
System.out.println("----------------------------");
for(i=0; i<jml_data; i++)
dt[i].lihatData();
System.out.println("----------------------------");
System.out.println("");
}
//--------------------------------------------------------------
// method cari untuk mencari data yang ada dalam array
// method mengembalikan nilai (tidak menggunakan void) --> FUNCTION
// pencarian data berdasarkan nama mahasiswa
public boolean cari(String cr) {
for(i=0; i<jml_data; i++) // mencari data pada setiap elemen array
if( dt[i].getNama().equals(cr) ) // membandingkan data pada array dengan yang dicari
break; // jika sama maka pencarian dihentikan
if(i == jml_data) // apakah pencarian yang dilakukan sebanyak jumlah elemen array?
return false; // jika true data TIDAK ditemukan (false)
else
return true; // jika false data ditemukan (true)
}
public boolean cari2(String nim){
for(i=0; i<jml_data; i++) // mencari data pada setiap elemen array
if( dt[i].getNIM().equals(nim) ) // membandingkan data pada array dengan yang dicari
break; // jika sama maka pencarian dihentikan
if(i == jml_data) // apakah pencarian yang dilakukan sebanyak jumlah elemen array?
return false; // jika true data TIDAK ditemukan (false)
else
return true; // jika false data ditemukan (true)
}
public void ketemu(String cr){
for(i=0; i<jml_data; i++) // mencari data pada setiap elemen array
if( dt[i].getNama().equals(cr) ) // membandingkan data pada array dengan yang dicari
System.out.println("NIM : "+dt[i].getNIM()+"\nNama : "+dt[i].getNama()+"\nIPK : "+dt[i].getIpk());
System.out.println("");
//menampilkan data nama NIM sama IPK
}
public void cariIPK(double cari){
int jum=0;
for(i=0; i<jml_data; i++){
if(dt[i].getIpk()==cari ){
System.out.println("");
System.out.println(" Nim : "+dt[i].getNIM() +"\nNama : "+dt[i].getNama() +"\nIPK : "+dt[i].getIpk());
jum++;
}
}
System.out.println("");
System.out.println(" Ditemukan IPK "+cari+" dengan jumlah "+jum+" orang");
if(jum==0){
System.out.println(" Atau IPK "+jum+" tidak ditemukan ");
}
}
//--------------------------------------------------------------
// method hapus untuk menghapus data yang ada dalam array
// method mengembalikan nilai (tidak menggunakan void) --> FUNCTION
public boolean hapus(String hps) {
boolean cri = cari(hps); // memanggil method cari
if (cri==true) { // bila data ditemukan maka dihapus
for(int j=i; j<jml_data-1; j++)
dt[j] = dt[j+1];
jml_data--; // jangan lupa jumlah data dikurangi satu!!!
return true;
}
else // bila data tidak ditemukan
return false;
}
public boolean cariNIM(String cari){
for(i=0; i<juml_data; i++)//mencari data pada setiap elemen array
if(dt[i].getNIM().equals(cari)) //membandingkan data pada array dengan yang dicari
break; //jika sama maka pencarian dihentikan
if(i==jml_data) //apakah pencarian yang dilakukan sebanyak jumlah elemen array?
return false;//mengembalikan nilai false
else
return true; //mengembalikan nilai true
}//End metod cariNIM
piblic void ketemuNIM(String cari){
String nim, nama; double ipk; //mendeklarasikan tipe data
String inputNIM, inputNAMA; double inputIPK;//mendeklarasikan tipe data
int submenu;//mendeklarasikan tipe data
scanner sken= new Scanner(System.in);
for(i=0; i<jml_data; i++)//mencari data pada setiap elemen array
if(dt[i].getNIM().equals(cari){//membandingkan data pada array dengan yang dicari
do{
nim=dt[i].getNIM();//proses pengambilan nilai pada array yang equals dengan yang dicari
nama=dt[i].getNama();//proses pengambilan nilai pada array yang equals dengan yang dicari
ipk=dt[i].getIpk();//proses pengambilan nilai pada array yang equals dengan yang dicari
System.out.println(" 1. NIM : "+nim);
System.out.println(" 2. NAMA : "+nama);
System.out.println(" 3. IPK : "+ipk);
System.out.println(" 4. KELUAR ");
System.out.print(" Menu Pilihan Data yang diubah : ");
submenu = sken.nextInt(); //inputan pilihan yang disimpan pada submenu
if(submenu==1){
System.out.println(" Masukkan NIM baru : ");
inputNIM = sken.next();//melakukan input NIM yang baru lalu disimpan pada inputNIM
dt[i] = new mahasiswa(inputNIM,nama,ipk);//mengganti isi data pada data array yang diinginkan untuk diganti
}else if(submenu==2){
System.out.println(" Masukkan NAMA yang baru : ");
inputNAMA =sken.next();//melakukan input nama yang baru lalu disimpan pada inputNAMA
dt[i] = new mahasiswa(nim,inputNAMA,ipk);//mengganti isi data pada data array yang diinginkan untuk diganti
}else if(submenu==3){
System.out.print(" Masukkan IPK yang baru : ");
inputIPK=sken.nextDouble();//melakukan input IPK yang baru lalu disimpan pada inputIPK
dt[i]=new mahasiswa(nim,nama,inputIPK);//mengganti isi data pada data array yang diinginkan untuk diganti
}
}while (submenu >= 1 && submenu < 4); //proses pengulangan jika nilai lebih besar =1 dan lebih kecil dari 4
}//End if
}//End metod ketemuNIM
}//End class metod
/////////////////////////////////////////////////////////////////////////
class Prak05_11520244043 {
public static void main(String[] args) {
int i=1, jml_arai=100;
Scanner sken = new Scanner(System.in);
arai md = new arai(jml_arai); // memanggil class metod dengan variabel md
String nim, nama, cariData;
double ipk, cariIPK;
//----------------------------------------------------------------------
int menu;
int pilih;
do {
System.out.println("");
System.out.println(" ----------------------- ");
System.out.println(" Pilih Menu di bawah ini ");
System.out.println(" ----------------------- ");
System.out.println(" 1. Memasukkan data ");
System.out.println(" 2. Pencarian data ");
System.out.println(" 3. Penghapusan data ");
System.out.println(" 4. Penampilan data ");
System.out.println(" 5. Keluar ");
System.out.print(" Anda memilih : ");
menu = sken.nextInt();
if (menu==1){
do{
System.out.println(" Masukkan data mahasiswa ke-" + i);
System.out.print(" NIM : ");
nim = sken.next();
System.out.print(" Nama : ");
nama = sken.next();
System.out.print(" IPK : ");
ipk = sken.nextDouble();
boolean cri=md.cari2(nim);
if(cri==true){
System.out.println(" Sudah ada mahasiswa dengan nim "+nim);
System.out.println("");
}else{
md.input(nim,nama,ipk); // memanggil method input pada class metod
i++;
break;
}
}while(true);
}
if (menu==2) {
do{
System.out.println("");
System.out.println(" -------------- ");
System.out.println(" Menu Pencarian ");
System.out.println(" -------------- ");
System.out.println(" 1. Pencarian Nama ");
System.out.println(" 2. Pencarian IPK ");
System.out.println(" 3. Keluar ");
System.out.print(" Masukkan Menu yang dipilih : ");
pilih=sken.nextInt();
if (pilih==1){
System.out.print(" Masukkan Nama yang Anda Cari : ");
cariData=sken.next();
boolean hasil = md.cari(cariData); // memanggil method cari pada class metod
if (hasil==true){
System.out.println("");
System.out.println(" ------------------------ ");
System.out.println(" Nama Mahasiswa ditemukan ");
System.out.println(" ------------------------ ");
md.ketemu(cariData);
}else{
System.out.println(" Nama " + cariData + " tidak ditemukan ");
}
System.out.println("");
}else if(pilih==2){
System.out.print(" Masukkan IPK yang Anda Cari : ");
cariIPK=sken.nextDouble();
md.cariIPK(cariIPK);
}
}while(pilih >= 1 && pilih < 3);
} else if (menu==3) {
System.out.print(" Data yang anda hapus = ");
cariData = sken.next();
boolean sts = md.hapus(cariData); // memanggil method hapus pada class metod
if (sts==true)
System.out.println(" Data " + cariData + " berhasil dihapus ");
else
System.out.println(" Data " + cariData + " TIDAK ditemukan ");
System.out.println("");
} else if (menu==4) {
System.out.print(" Masukkan NIM yang dicari : ");
String cariNIM = sken.next();//input NIM yang dicari
boolean hasilNIM = md.cariNIM(cariNIM);//memanggil method cariNIM pada class metod
if(hasilNIM==true){
System.out.println("");
System.out.println(" ----------------------- ");
System.out.println(" NIM mahasiswa ditemukan ");
System.out.println(" ----------------------- ");
md.ketemuNIM(cariNIM);//memanggil method ketemuNIM pada class metod
}else{
System.out.println( " NIM "+ cariNIM " " tidak ditemukan ! ");//command jika NIM tidak ditemukan atau false
}
System.out.println("");
}else if(menu==5){
md.dataArai();
}
}while (meu >=1 && menu <6);
}//End main()
}//End class
/*
Nama : Ati Tasmiati Dewi
NIM : 11520244043
*/
import java.util.Scanner;
/////////////////////////////////////////////////////////////////
class mahasiswa { // mahasiswa mempunyai 3 data, nim, nama, dan ipk
private String nimMhs;
private String namaMhs;
private double ipkMhs;
//--------------------------------------------------------------
// constructor
// berguna juga untuk "memasukkan" data mahasiswa
public mahasiswa(String nim, String nama, double ipk) {
nimMhs = nim;
namaMhs = nama;
ipkMhs = ipk;
}
//--------------------------------------------------------------
// method untuk menampilkan data mahasiswa
public void lihatData() {
System.out.println(nimMhs + " --> " + namaMhs + " --> " + ipkMhs);
}
//--------------------------------------------------------------
// method memperoleh (mengambil) data nama
public String getNama(){
return namaMhs;
}
public String getNIM(){
return nimMhs;
}
public double getIpk(){
return ipkMhs;
}
} // end class mahasiswa
/////////////////////////////////////////////////////////////////
class arai {
private mahasiswa[] dt; // array
private int jml_data;
private int i;
//--------------------------------------------------------------
public arai(int max) { // constructor
dt = new mahasiswa[max];
jml_data = 0; // jumlah data mula-mula nol
}
//--------------------------------------------------------------
// method input untuk memasukkan data ke dalam array
public void input(String nim, String nama, double ipk) {
dt[jml_data] = new mahasiswa(nim,nama,ipk);
jml_data++; // jika ada data masuk maka jumlah datanya bertambah
}
//--------------------------------------------------------------
// method dataArai untuk menampilkan data yang ada dalam array
// method tidak mengembalikan nilai (menggunakan void) --> PROCEDURE
public void dataArai() { // menampilkan isi dari array
System.out.println("");
System.out.println("----------------------------");
System.out.println("NIM Nama IPK");
System.out.println("----------------------------");
for(i=0; i<jml_data; i++)
dt[i].lihatData();
System.out.println("----------------------------");
System.out.println("");
}
//--------------------------------------------------------------
// method cari untuk mencari data yang ada dalam array
// method mengembalikan nilai (tidak menggunakan void) --> FUNCTION
// pencarian data berdasarkan nama mahasiswa
public boolean cari(String cr) {
for(i=0; i<jml_data; i++) // mencari data pada setiap elemen array
if( dt[i].getNama().equals(cr) ) // membandingkan data pada array dengan yang dicari
break; // jika sama maka pencarian dihentikan
if(i == jml_data) // apakah pencarian yang dilakukan sebanyak jumlah elemen array?
return false; // jika true data TIDAK ditemukan (false)
else
return true; // jika false data ditemukan (true)
}
public boolean cari2(String nim){
for(i=0; i<jml_data; i++) // mencari data pada setiap elemen array
if( dt[i].getNIM().equals(nim) ) // membandingkan data pada array dengan yang dicari
break; // jika sama maka pencarian dihentikan
if(i == jml_data) // apakah pencarian yang dilakukan sebanyak jumlah elemen array?
return false; // jika true data TIDAK ditemukan (false)
else
return true; // jika false data ditemukan (true)
}
public void ketemu(String cr){
for(i=0; i<jml_data; i++) // mencari data pada setiap elemen array
if( dt[i].getNama().equals(cr) ) // membandingkan data pada array dengan yang dicari
System.out.println("NIM : "+dt[i].getNIM()+"\nNama : "+dt[i].getNama()+"\nIPK : "+dt[i].getIpk());
System.out.println("");
//menampilkan data nama NIM sama IPK
}
public void cariIPK(double cari){
int jum=0;
for(i=0; i<jml_data; i++){
if(dt[i].getIpk()==cari ){
System.out.println("");
System.out.println(" Nim : "+dt[i].getNIM() +"\nNama : "+dt[i].getNama() +"\nIPK : "+dt[i].getIpk());
jum++;
}
}
System.out.println("");
System.out.println(" Ditemukan IPK "+cari+" dengan jumlah "+jum+" orang");
if(jum==0){
System.out.println(" Atau IPK "+jum+" tidak ditemukan ");
}
}
//--------------------------------------------------------------
// method hapus untuk menghapus data yang ada dalam array
// method mengembalikan nilai (tidak menggunakan void) --> FUNCTION
public boolean hapus(String hps) {
boolean cri = cari(hps); // memanggil method cari
if (cri==true) { // bila data ditemukan maka dihapus
for(int j=i; j<jml_data-1; j++)
dt[j] = dt[j+1];
jml_data--; // jangan lupa jumlah data dikurangi satu!!!
return true;
}
else // bila data tidak ditemukan
return false;
}
public boolean cariNIM(String cari){
for(i=0; i<juml_data; i++)//mencari data pada setiap elemen array
if(dt[i].getNIM().equals(cari)) //membandingkan data pada array dengan yang dicari
break; //jika sama maka pencarian dihentikan
if(i==jml_data) //apakah pencarian yang dilakukan sebanyak jumlah elemen array?
return false;//mengembalikan nilai false
else
return true; //mengembalikan nilai true
}//End metod cariNIM
piblic void ketemuNIM(String cari){
String nim, nama; double ipk; //mendeklarasikan tipe data
String inputNIM, inputNAMA; double inputIPK;//mendeklarasikan tipe data
int submenu;//mendeklarasikan tipe data
scanner sken= new Scanner(System.in);
for(i=0; i<jml_data; i++)//mencari data pada setiap elemen array
if(dt[i].getNIM().equals(cari){//membandingkan data pada array dengan yang dicari
do{
nim=dt[i].getNIM();//proses pengambilan nilai pada array yang equals dengan yang dicari
nama=dt[i].getNama();//proses pengambilan nilai pada array yang equals dengan yang dicari
ipk=dt[i].getIpk();//proses pengambilan nilai pada array yang equals dengan yang dicari
System.out.println(" 1. NIM : "+nim);
System.out.println(" 2. NAMA : "+nama);
System.out.println(" 3. IPK : "+ipk);
System.out.println(" 4. KELUAR ");
System.out.print(" Menu Pilihan Data yang diubah : ");
submenu = sken.nextInt(); //inputan pilihan yang disimpan pada submenu
if(submenu==1){
System.out.println(" Masukkan NIM baru : ");
inputNIM = sken.next();//melakukan input NIM yang baru lalu disimpan pada inputNIM
dt[i] = new mahasiswa(inputNIM,nama,ipk);//mengganti isi data pada data array yang diinginkan untuk diganti
}else if(submenu==2){
System.out.println(" Masukkan NAMA yang baru : ");
inputNAMA =sken.next();//melakukan input nama yang baru lalu disimpan pada inputNAMA
dt[i] = new mahasiswa(nim,inputNAMA,ipk);//mengganti isi data pada data array yang diinginkan untuk diganti
}else if(submenu==3){
System.out.print(" Masukkan IPK yang baru : ");
inputIPK=sken.nextDouble();//melakukan input IPK yang baru lalu disimpan pada inputIPK
dt[i]=new mahasiswa(nim,nama,inputIPK);//mengganti isi data pada data array yang diinginkan untuk diganti
}
}while (submenu >= 1 && submenu < 4); //proses pengulangan jika nilai lebih besar =1 dan lebih kecil dari 4
}//End if
}//End metod ketemuNIM
}//End class metod
/////////////////////////////////////////////////////////////////////////
class Prak05_11520244043 {
public static void main(String[] args) {
int i=1, jml_arai=100;
Scanner sken = new Scanner(System.in);
arai md = new arai(jml_arai); // memanggil class metod dengan variabel md
String nim, nama, cariData;
double ipk, cariIPK;
//----------------------------------------------------------------------
int menu;
int pilih;
do {
System.out.println("");
System.out.println(" ----------------------- ");
System.out.println(" Pilih Menu di bawah ini ");
System.out.println(" ----------------------- ");
System.out.println(" 1. Memasukkan data ");
System.out.println(" 2. Pencarian data ");
System.out.println(" 3. Penghapusan data ");
System.out.println(" 4. Penampilan data ");
System.out.println(" 5. Keluar ");
System.out.print(" Anda memilih : ");
menu = sken.nextInt();
if (menu==1){
do{
System.out.println(" Masukkan data mahasiswa ke-" + i);
System.out.print(" NIM : ");
nim = sken.next();
System.out.print(" Nama : ");
nama = sken.next();
System.out.print(" IPK : ");
ipk = sken.nextDouble();
boolean cri=md.cari2(nim);
if(cri==true){
System.out.println(" Sudah ada mahasiswa dengan nim "+nim);
System.out.println("");
}else{
md.input(nim,nama,ipk); // memanggil method input pada class metod
i++;
break;
}
}while(true);
}
if (menu==2) {
do{
System.out.println("");
System.out.println(" -------------- ");
System.out.println(" Menu Pencarian ");
System.out.println(" -------------- ");
System.out.println(" 1. Pencarian Nama ");
System.out.println(" 2. Pencarian IPK ");
System.out.println(" 3. Keluar ");
System.out.print(" Masukkan Menu yang dipilih : ");
pilih=sken.nextInt();
if (pilih==1){
System.out.print(" Masukkan Nama yang Anda Cari : ");
cariData=sken.next();
boolean hasil = md.cari(cariData); // memanggil method cari pada class metod
if (hasil==true){
System.out.println("");
System.out.println(" ------------------------ ");
System.out.println(" Nama Mahasiswa ditemukan ");
System.out.println(" ------------------------ ");
md.ketemu(cariData);
}else{
System.out.println(" Nama " + cariData + " tidak ditemukan ");
}
System.out.println("");
}else if(pilih==2){
System.out.print(" Masukkan IPK yang Anda Cari : ");
cariIPK=sken.nextDouble();
md.cariIPK(cariIPK);
}
}while(pilih >= 1 && pilih < 3);
} else if (menu==3) {
System.out.print(" Data yang anda hapus = ");
cariData = sken.next();
boolean sts = md.hapus(cariData); // memanggil method hapus pada class metod
if (sts==true)
System.out.println(" Data " + cariData + " berhasil dihapus ");
else
System.out.println(" Data " + cariData + " TIDAK ditemukan ");
System.out.println("");
} else if (menu==4) {
System.out.print(" Masukkan NIM yang dicari : ");
String cariNIM = sken.next();//input NIM yang dicari
boolean hasilNIM = md.cariNIM(cariNIM);//memanggil method cariNIM pada class metod
if(hasilNIM==true){
System.out.println("");
System.out.println(" ----------------------- ");
System.out.println(" NIM mahasiswa ditemukan ");
System.out.println(" ----------------------- ");
md.ketemuNIM(cariNIM);//memanggil method ketemuNIM pada class metod
}else{
System.out.println( " NIM "+ cariNIM " " tidak ditemukan ! ");//command jika NIM tidak ditemukan atau false
}
System.out.println("");
}else if(menu==5){
md.dataArai();
}
}while (meu >=1 && menu <6);
}//End main()
}//End class
Langganan:
Postingan (Atom)