Temen2 biar lebih jelas tentang sorting ada aplikasi web java yang beranimasi biar temen2 lebih paham
Temen2 apalin aja source code yang ada di kolom putih
Temen2 juga bisa download aplikasinya
di sini dan buka sort applet ini di browser temen2
Posted in
UAS
Inilah contoh membuat program antrian dan sequential searching yang dibuat dengan bahasa C++ dengan menu untuk enqueue, dequeue, tampilkan hasilnya, clear, pencarian, dan keluar
#include<stdio.h>
#include<conio.h>
#define MAX 10 // mendefinisikan bahwa maksimal antrian adalah 10
//mendefinisikan tipe data bentukan antrian
typedef struct{
int data[MAX];
int head;
int tail;
} antrian;
// antri akan dikenali sebagai antrian
antrian antri;
void Create(){
antri.head=antri.tail=-1;
// posisi head dan tail harus -1 agar nanti data bisa dimulai dari data ke 0
}
// fungsi untuk mengecek apakah antrian kosong
int IsEmpty(){
if(antri.tail==-1)
return 1;
else return 0;
}
//fungsi untuk mengecek apakah antrian penuh
int IsFull(){
if(antri.tail==MAX-1)
return 1;
else return 0;
}
// fungsi untuk memasukkan data pada antrian
void Enqueue(int data){
if(IsEmpty()==1){
// cek apakah antrian kosong
antri.head=antri.tail=0;
antri.data[antri.tail]=data;
printf("Data %d telah masuk!\n",antri.data[antri.tail]);
} else
if(IsFull()==0){
// cek apakah masih bisa memasukkan antrian
antri.tail++;
antri.data[antri.tail]=data;
printf("antrian %d telah masuk!\n",antri.data[antri.tail]);
}
else
printf("Antrian penuh");
}
// fungsi untuk mengosongkan pada antrian
int Dequeue(){
if(IsEmpty()==0) {
int i;
int e = antri.data[antri.head];
for(i=antri.head;i<=antri.tail-1;i++){
antri.data[i] = antri.data[i+1];
}
antri.tail--;
return e;
} else
{printf("Antrian %d telah keluar\n");
return 0;
}}
// fungsi untuk mengosongkan antrian
void Clear(){
antri.head=antri.tail=-1;
printf("data berhasil dihapus\n");
}
// fungsi untuk menampilkan antrian
void Tampil(){
if(IsEmpty()==0){
for(int i=antri.head;i<=antri.tail;i++){
printf("%d\n",antri.data[i]);
}
} else printf("antrian tidak ada!\n");
}
// di sinilah fungsi sequential searching
void Cari(int x) {
if (IsEmpty()==0) {
for(int i=antri.head;i<=antri.tail;i++){
if (antri.data[i] == x)
printf("antrian %d ditemukan!\n", i+1);
else
printf("antrian %d tidak ditemukan!\n",i+1);
}
}else printf("antrian kosong!\n");
}
//{============================================================}
// fungsi utama
int main(){
int pil;
int data;
int x;
printf("+-----------------------------------+\n");
printf("\t Program \n");
printf("+-----------------------------------+\n");
Create();
do{
//clrscr();
printf("1. Enqueue\n");
printf("2. Dequeue\n");
printf("3. Tampilkan\n");
printf("4. Kosongkan\n");
printf("5. Pencarian\n");
printf("6. Keluar\n");
printf("Pilihan = ");scanf("%d", &data, pil);
switch(pil){
case 1: if(IsFull()==1) printf("Antrian penuh\n"); else { printf("antrian ke = ");scanf("%d", &data);
Enqueue(data);
}
break;
case 2: printf("antrian yang keluar : %d\n",Dequeue());
break;
case 3: Tampil();
break;
case 4: Clear();
break;
case 5: printf("antrian yang dicari = ");scanf("%d", &x);
Cari(x);
break;
}
getch();
}
while(pil!=6);
}
Posted in
UAS
Algoritma
Syarat utama melakukan binary search adalah data harus sudah urut
Untuk binary search maka kita harus menentukan posisi awal, tengah, dan akhir dari sebuah array data
low = 0 agar dimulai pada awal data
high = n -1 di sini n adalah nilai maksimal dan dikurangi satu agar berada pada posisi akhir data(karena data dihitung dari 0)
middle adalah high ditambah low dibagi 2(berarti posisi tengah2 data)
inti dari binary search adalah membandingkan data yang dicari dengan data yang berada pada posisi tengah
bila data yang dicari = data yang ada di tengah array, maka pencarian langsung selesai
bila data yang dicari < data yang ada di tengah, maka data di sebelah kiri data yang ada di tengah (middle - 1) akan dianggap posisi high yang baru
bila data yang dicari > data yand ada di tengah, maka data di sebelah kanan data yang ada di tengah (middle + 1) akan dianggap posisi low yang baru
dari situ dilakukan perulangan sampai low=high karena dari situlah nilai mid menjadi = data yang dicari
Flowchart
Source Code Sederhana
int binary_search(int yangdicari)
{
int low, high, middle;
low = 0;
high = n-1;
while (low <= high){
middle = (low+high) / 2;
if (yangdicari == array[middle])//untuk mengetahui data apa yang ada pada posisi tengah
return(array[middle])//mengembalikan nilai sehingga bisa diketahui di posisi mana data ditemukan
else if(yangdicari < array[middle])
high = middle – 1;
else low = middle + 1; }
return -1; }
//ingat sebelumnya harus struct data dulu
Posted in
UAS
Temen-temen ini adalah pembahasan untuk soal tentamen tentang menampilkan matriks dan melakukan perkalian matriks
Kalau ada yang salah mohon dikoreksi
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class operasiMatriks {
// deklarasikan variabel
static int[][] Matrix1 = new int[10][10];
static int[][] Matrix2 = new int[10][10];
static int Matrix1brs=0;
static int Matrix1klm=0;
static int Matrix2brs=0;
static int Matrix2klm=0;
static int[][] HasilPerkalianMatrix = new int[10][10];
static int ukuranbarismatriks1, ukurankolommatriks1, ukuranbarismatriks2, ukurankolommatriks2;
public static void main(String[] args){
System.out.print("masukkan ukuran baris matriks 1: ");
ukuranbarismatriks1 = inputData();
System.out.print("masukkan ukuran kolom matriks 1: ");
ukurankolommatriks1 = inputData();
System.out.print("masukkan ukuran baris matriks 2: ");
ukuranbarismatriks2 = inputData();
System.out.print("masukkan ukuran kolom matriks 2: ");
ukurankolommatriks2 = inputData();
bacaMatrix();
kalikanMatrixMatrix();
tulisHasil();
}
// metoda untuk memasukkan bilangan bulat(integer).
private static int inputData() {
BufferedReader bfr = new BufferedReader (new InputStreamReader (System.in));
String angkaInput = null;
try {angkaInput = bfr.readLine();}
catch (IOException e) {e.printStackTrace();}
int Data = Integer.valueOf(angkaInput).intValue();
return Data;
}
//memasukkan asupan penggunaan ke-
private static void bacaMatrix() {
Matrix1brs= ukuranbarismatriks1;
Matrix1klm= ukurankolommatriks1;
Matrix2brs= ukuranbarismatriks2;
Matrix2klm= ukurankolommatriks2;
if(Matrix1klm!=Matrix2brs){
System.out.print("Tidak bisa melakukan perkalian matriks\n");
System.exit(0);
}
else
System.out.println("Masukkan data matrix 1 : ");
// Matrix1.
for (int i = 0; i < ukuranbarismatriks1; i++){
for (int j = 0; j < ukurankolommatriks1; j++){
System.out.print("Matrix["+(i+1) +"]["+ (j+1) + "] ");
Matrix1[i][j] = inputData();
}
}
//Matrix-2.
System.out.println("Masukkan data matrix 2 : ");
for (int i = 0; i < ukuranbarismatriks2; i++){
for (int j = 0; j < ukurankolommatriks2; j++){
System.out.print("Matrix["+(i+1)+"]["+(j+1)+"] : ");
Matrix2[i][j] = inputData();
}
}
}
//metoda untuk mengalikan matrix dengan matrix.
private static void kalikanMatrixMatrix() {
for (int i=0; i < ukuranbarismatriks1; i++){
for (int j=0; j < ukurankolommatriks2; j++){
int hasil = 0;
for (int k = 0; k < ukuranbarismatriks2; k++) {
hasil += (Matrix1[i][k] * Matrix2[k][j]);
}
HasilPerkalianMatrix[i][j] = hasil;
}
}
}
//metoda untuk menuliskan hasil di jendela console.
private static void tulisHasil(){
System.out.println ("\nMatriks 1 : ");
for(int i = 0; i < ukuranbarismatriks1; i++) {
for (int j = 0; j < ukurankolommatriks1; j++) {
System.out.print(Matrix1[i][j] + " ");
}
System.out.println(""); //ganti baris.
}
System.out.println ("\nMatriks 2 : ");
for(int i = 0; i < ukuranbarismatriks2; i++) {
for (int j = 0; j < ukurankolommatriks2; j++) {
System.out.print(Matrix2[i][j] + " ");
}
System.out.println(""); //ganti baris.
}
System.out.println ("\nMatrik Hasil Perkalian Matrix 1 dengan Matrix 2 : ");
for(int i = 0; i < ukuranbarismatriks1; i++) {
//menuliskan isi matrix.
for (int j = 0; j < ukurankolommatriks2; j++) {
System.out.print(HasilPerkalianMatrix[i][j] + " ");
}
System.out.println(""); //ganti baris.
}
}
}
Posted in
UAS
SEMUA BAHAN UJIAN BAHASA INDONESIA BISA DIDOWNLOAD
DI SINI
PREDIKSI SOAL BAHASA INDONESIA
VARIASI I
1. JELASKAN BAGAIMANA SYARAT UNTUK MENULIS SUATU PARAGRAF DENGAN BAIK
2. JELASKAN DENGAN DISERTAI CONTOH PENGERTIAN DAN SYARAT MEMILIH TOPIK KARANGAN
3. JELASKAN FUNGI CACATAN KAKI DAN BAGAIMANAKAH KONSEP PENGGUNAAN IBID, OP.CIT, DAN LOC.CIT
4. JELASKAN BAGAIMANA CIRI-CIRI KALIMAT YANG EFEKTIF
VARIASI II
1. APAKAH FUNGSI DARI PARAGRAF DAN JELASKAN JENIS-JENIS PARAGRAF YANG ADA
2. JELASKAN UNSUR-UNSUR APA SAJAKAH YANG HARUS DIMILIKI KARANGAN ILMIAH
3. JELASKAN DENGAN DISERTAI CONTOH BAGAIMANAKAH CARA PENULISAN DAFTAR PUSTAKA DAN APAKAH BEDANYA DENGAN KUTIPAN
4. APAKAH YANG DIMAKSUD SINGKAT, PADAT, JELAS, LENGKAP PADA KALIMAT EFEKTIF
Posted in
UAS
Praktikum Teknik Digital
28 Juni 2010
Bahasa Indonesia
28 Juni 2010
Praktikum Dasistel
29 Juni 2010
Algoritma dan Struktur Data
1 Juli 2010
Medan Elektromagnet
5 Juli 2010
Rangkaian Listrik II
5 Juli 2010
Matematika Teknik II
6 Juli 2010
Dasar Sistem Kontrol
6 Juli 2010
Jaringan Komputer
7 Juli 2010
Posted in
UAS