Advertisement
felixcrazzy

SDL

Sep 30th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.54 KB | None | 0 0
  1. public static void main(String[] args) {
  2. Scanner scan = new Scanner(System.in);
  3. Mahasiswa[] data = new Mahasiswa[2];
  4. for (int i = 0; i < data.length; i++) {
  5. System.out.print("Masukkan NIM : ");
  6. int nim = scan.nextInt();
  7. System.out.print("Masukkan Nama : ");
  8. String nama = scan.next();
  9. data[i] = new Mahasiswa(nama, nim);
  10. System.out.println("");
  11. }
  12.  
  13. Mahasiswa d = new Mahasiswa();
  14. System.out.print("Masukkan NIM yang anda cari : ");
  15. d.setNim(scan.nextInt());
  16.  
  17. if (Binary.binaryObject(data,d) > -1) {
  18. System.out.println("Data ada pada index ke " + Binary.binaryObject(data, d));
  19. } else {
  20. System.out.println("Data tidak ditemukan");
  21. }
  22. }
  23. //=========================================================================//
  24.  
  25. public static int sequential(int elements[], int target) {
  26. for (int i = 0; i < elements.length; i++) {
  27. if (elements[i] == target) {
  28. return i;
  29. }
  30. }
  31. return -1;
  32. }
  33. public static int sequentialObject(Object elements[], Object target) {
  34. for (int i = 0; i < elements.length; i++) {
  35. if (((Comparable)elements[i]).compareTo(target)==0){
  36. return i;
  37. }
  38. }
  39. return -1;
  40. }
  41.  
  42.  
  43. //=========================================================================//
  44. public static int binary(int[] larik, int kunci) {
  45. int indekAwal = 0;
  46. int indekAkhir = larik.length - 1;
  47. int indekTengah;
  48.  
  49. while (indekAwal <= indekAkhir) {
  50. indekTengah = (indekAwal + indekAkhir) / 2;
  51. if (larik[indekTengah] == kunci) {
  52. return indekTengah;
  53. } else if (larik[indekTengah] > kunci) {
  54. indekAkhir = indekTengah - 1;
  55. } else {
  56. indekAwal = indekTengah + 1;
  57. }
  58. }
  59. return -1;
  60. }
  61. public static int binaryObject(Object[] larik, Object kunci) {
  62. Arrays.sort(larik);
  63. int indekAwal = 0;
  64. int indekAkhir = larik.length - 1;
  65. int indekTengah;
  66.  
  67. while (indekAwal <= indekAkhir) {
  68. indekTengah = (indekAwal + indekAkhir) / 2;
  69.  
  70.  
  71. if (((Comparable) larik[indekTengah]).compareTo(kunci) == 0) {
  72. return indekTengah;
  73. } else if (((Comparable) larik[indekTengah]).compareTo(kunci) > 0) {
  74. indekAkhir = indekTengah - 1;
  75. } else {
  76. indekAwal = indekTengah + 1;
  77. }
  78. }
  79. return -1;
  80. }
  81.  
  82.  
  83. //=========================================================================//
  84. public static int interpolasi(int[] larik, int kunci) {
  85. int indekAwal = 0;
  86. int indekAkhir = larik.length - 1;
  87. int indekTengah;
  88.  
  89. while (indekAwal <= indekAkhir) {
  90. indekTengah = indekAwal + ((kunci - larik[indekAwal]) * (indekAkhir - indekAwal))
  91. / (larik[indekAkhir] - larik[indekAwal]);
  92. if (larik[indekTengah] == kunci) {
  93. return indekTengah;
  94. } else if (larik[indekTengah] > kunci) {
  95. indekAkhir = indekTengah - 1;
  96. } else {
  97. indekAwal = indekTengah + 1;
  98. }
  99. }
  100. return -1;
  101. }
  102. public static int interpolasiObject(Object[] larik, Object kunci) {
  103. Arrays.sort(larik);
  104. int indekAwal = 0;
  105. int indekAkhir = larik.length - 1;
  106. int indekTengah;
  107.  
  108. while (indekAwal <= indekAkhir) {
  109. indekTengah = indekAwal + ((((Mahasiswa) kunci).getNim() - ((Mahasiswa) larik[indekAwal]).getNim()) * (indekAkhir - indekAwal))
  110. / (((Mahasiswa) larik[indekAkhir]).getNim() - ((Mahasiswa) larik[indekAwal]).getNim());
  111.  
  112.  
  113. if (((Comparable) larik[indekTengah]).compareTo(kunci) == 0) {
  114. return indekTengah;
  115. } else if (((Comparable) larik[indekTengah]).compareTo(kunci) > 0) {
  116. indekAkhir = indekTengah - 1;
  117. } else {
  118. indekAwal = indekTengah + 1;
  119. }
  120. }
  121. return -1;
  122. }
  123.  
  124.  
  125. //=========================================================================//
  126.  
  127.  
  128.  
  129.  
  130. //=========================Buble======================================//
  131. public static void bubleSortAsc(int[] larik) {
  132. //Langkah 1 : Untuk iterasi = 1 sampai N-1 lakukan langkah 2
  133. for (int iterasi = 0; iterasi < larik.length - 1; iterasi++) {
  134. //Langkah 2 : Untuk elemen = 0 sampai N-1-iterasi lakukan langkah 3
  135. for (int elemen = 0; elemen < larik.length - 1; elemen++) {
  136. //Langkah 3 : Test apakah larik[elemen] > larik[elemen + 1]
  137. if (larik[elemen] > larik[elemen + 1]) {
  138. //Jika ya, tukarkan nilai kedua elemen ini
  139. int temp;
  140. temp = larik[elemen];
  141. larik[elemen] = larik[elemen + 1];
  142. larik[elemen + 1] = temp;
  143. }
  144. }
  145. }
  146.  
  147. for (int i = 0; i < larik.length; i++) {
  148. System.out.print(larik[i] + " ");
  149. }
  150. }
  151.  
  152. public static void bubleSortAscObject(Mahasiswa larik[]) {
  153. for (int iterasi = 0; iterasi < larik.length - 1; iterasi++) {
  154. for (int elemen = 0; elemen < larik.length - 1; elemen++) {
  155. if (((Comparable) larik[elemen]).compareTo(larik[elemen + 1]) > 0) {
  156. Mahasiswa temp;
  157. temp = larik[elemen];
  158. larik[elemen] = larik[elemen + 1];
  159. larik[elemen + 1] = temp;
  160. }
  161. }
  162. }
  163. System.out.printf("%-10s", "NIM");
  164. System.out.printf("%-20s", "NAMA");
  165. System.out.println("");
  166. for (int i = 0; i < larik.length; i++) {
  167. System.out.printf("%-10s", larik[i].getNim());
  168. System.out.printf("%-20s", larik[i].getNama());
  169. System.out.println("");
  170. }
  171. }
  172.  
  173.  
  174. //=========================Selction======================================//
  175. public static void SelectionSortAsc(int[] larik) {
  176. for (int iterasi = 0; iterasi <= larik.length - 2; iterasi++) {
  177. int minIndex = iterasi;
  178. for (int elemen = iterasi + 1; elemen <= larik.length-1; elemen++) {
  179. if (larik[elemen] < larik[minIndex]) {
  180. minIndex = elemen;
  181. }
  182. }
  183. int temp;
  184. temp = larik[minIndex];
  185. larik[minIndex] = larik[iterasi];
  186. larik[iterasi] = temp;
  187. }
  188. for (int i = 0; i < larik.length; i++) {
  189. System.out.print(larik[i] + " ");
  190. }
  191. }
  192.  
  193. public static void selectionSortObjectAsc(Mahasiswa larik[]) {
  194. for (int iterasi = 0; iterasi <= larik.length - 2; iterasi++) {
  195. int minIndex = iterasi;
  196. for (int elemen = iterasi + 1; elemen <= larik.length-1; elemen++) {
  197. if (((Comparable) larik[elemen]).compareTo(larik[minIndex]) < 0) {
  198. minIndex = elemen;
  199. }
  200. }
  201. Mahasiswa temp;
  202. temp = larik[minIndex];
  203. larik[minIndex] = larik[iterasi];
  204. larik[iterasi] = temp;
  205. }
  206. System.out.printf("%-10s", "NIM");
  207. System.out.printf("%-20s", "NAMA");
  208. System.out.println("");
  209. for (int i = 0; i < larik.length; i++) {
  210. System.out.printf("%-10s", larik[i].getNim());
  211. System.out.printf("%-20s", larik[i].getNama());
  212. System.out.println("");
  213. }
  214. }
  215.  
  216. //=========================Insertion======================================//
  217. public static void InsertionSortAsc(int[] larik) {
  218. for (int iterasi = 1; iterasi <= larik.length - 1; iterasi++) {
  219. for (int elemen = iterasi; elemen >= 1; elemen--) {
  220. if (larik[elemen] < larik[elemen - 1]) {
  221. int temp;
  222. temp = larik[elemen];
  223. larik[elemen] = larik[elemen - 1];
  224. larik[elemen - 1] = temp;
  225. }
  226. }
  227. }
  228. for (int i = 0; i < larik.length; i++) {
  229. System.out.print(larik[i] + " ");
  230. }
  231. }
  232.  
  233. public static void InsertionSortObjectAsc(Mahasiswa larik[]) {
  234. for (int iterasi = 1; iterasi <= larik.length - 1; iterasi++) {
  235. for (int elemen = iterasi; elemen >= 1; elemen--) {
  236. if (((Comparable) larik[elemen]).compareTo(larik[elemen - 1]) < 0) {
  237. Mahasiswa temp;
  238. temp = larik[elemen];
  239. larik[elemen] = larik[elemen - 1];
  240. larik[elemen - 1] = temp;
  241. }
  242. }
  243. }
  244. System.out.printf("%-10s", "NIM");
  245. System.out.printf("%-20s", "NAMA");
  246. System.out.println("");
  247. for (int i = 0; i < larik.length; i++) {
  248. System.out.printf("%-10s", larik[i].getNim());
  249. System.out.printf("%-20s", larik[i].getNama());
  250. System.out.println("");
  251. }
  252. }
  253.  
  254.  
  255.  
  256.  
  257.  
  258. //@Override
  259. // public int compareTo(Object o) {
  260. // if (nim == ((Mahasiswa) o).nim) {
  261. // return 0;
  262. // } else if (nim < ((Mahasiswa) o).nim) {
  263. // return -1;
  264. // } else {
  265. // return 1;
  266. // }
  267. // }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement