ikp321-svn

524 views

Published on

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

ikp321-svn

  1. 1. Manajemen dan Kualitas Perangkat Lunak IKP321 Version Control System
  2. 2. Subversion TortoiseSVN  GUI  http://tortoisesvn.tigris.org/ SlikSVN  Command line  http://www.sliksvn.com/en/download
  3. 3. Arithmetic Evaluation Problem Diberikan sebuah ekspresi aritmatika  30 * 9 / 5 + 32  (30 – 32) * 5 / 9 Evaluasi nilai akhir masing-masing ekspresi Ubah ekspresi Infix ke ekspresi Postfix Evaluasi ekspresi Postfix menggunakan Stack
  4. 4. Dari Infix ke Postfix
  5. 5. Dari Infix ke Postfix Edsger W Dijkstra  Shunting Yard Algorithm  Semaphore  Shortest Path
  6. 6. Shunting Yard Algorithm Selama masih ada token dalam string Masukan:  Baca satu token.  Jika token tsb operand:  Tambahkan ke queue Luaran.  Jika token tsb sebuah operator, o1:  while there is an operator token, o2, at the top of the stack, and  either o1 is left-associative and its precedence is less than or equal to that of o2,  or o1 is right-associative and its precedence is less than that of o2,  pop o2 off the stack, onto the output queue;  push o1 onto the stack.
  7. 7. Shunting Yard Algorithm Jika token tsb tanda kurung buka:  Push ke stack. Jika token tsb tanda kurung tutup:  Lakukan hinggal token pada top of stack adalah tanda kurung buka:  Pop semua operator dari stack ke queue Luaran.  Pop tanda kurung buka dari stack, tapi tidak dimasukkan ke queue Luaran.  Jika isi stack habis tanpa menemui tanda kurung buka:  Ada ketidakcocokan tanda kurung.
  8. 8. Shunting Yard Algorithm Jika tidak ada lagi token dalam string Masukan:  Selama masih ada operator dalam stack:  Jika operator di top of stack adalah tanda kurung:  Ada ketidakcocokan tanda kurung.  Pop semua operator ke queue Luaran. Exit.
  9. 9. Presedensi dan AsosiatifitasOperator Presedensi Asosiatifitas ^ 4 Kanan * 3 Kiri / 3 Kiri + 2 Kiri - 2 Kiri
  10. 10. Contoh String masukan  3+4*2/(1-5)^2^3 Token Aksi Luaran Stack Keterangan3 Letakkan di 3 queue Luaran+ Push ke stack 3 +4 Letakkan di 34 + queue* Push ke stack 34 * + Presedensi * lebih tinggi daripada +
  11. 11. Contoh Token Aksi Luaran Stack Keterangan2 Letakkan di 342 *+ queue/ Pop stack ke 342* + / dan * memiliki queue Luaran presedensi yang sama Push token ke 342* / + Presedensi / stack lebih tinggi daripada +( Push ke stack 342* (/+1 Letakkan di 342*1 (/+ queue- Push ke stack 342*1 -(/+5 Letakkan di 342*15 -(/+ queue
  12. 12. Contoh Token Aksi Luaran Stack Keterangan) Pop stack 342*15- ( / + Pop hingga ketemu "(" Pop stack 342*15- / + Abaikan pasangan tanda kurung^ Push ke stack 342*15- ^ / + Presedensi ^ lebih tinggi daripada /2 Letakkan di 342*15-2 ^/+ queue^ Push ke stack 342*15-2 ^ ^ / + ^ bersifat asosiatif kanan3 Letakkan di 342*15–23 ^^/+ queue$ Pop sisa stack 342*15–23 ^^/+
  13. 13. Kelompok Praktek menggunakan Subversion Setup SVN repository di Google Code  Try it!  Submit your teams URL  Submit your team members
  14. 14. Subversion Repository Checkout Membuat salinan lokal dari repository  svn checkout https://alawisoft.googlecode.com/svn/trunk/ alawisoft --username barliant@gmail.com  svn co https://alawisoft.googlecode.com/svn/trunk/ group-a –username barliant@gmail.com Username  Alamat e-mail Password  Auto generated
  15. 15. Subversion
  16. 16. Subversion Setelah checkout, kerjakan modul masing-masing Menambahkan berkas  svn add README.txt Membuat folder baru  svn mkdir data Setelah melakukan perubahan  svn commit -m "Keterangan perubahan."  Edit dan Review perubahan dengan svn commit  Set environment variabel SVN_EDITOR = notepad
  17. 17. Subversion Mendapatkan perubahan yang dilakukan rekan lain svn update
  18. 18. Tugas Kelompok Implementasikan struktur data Queue Implementasikan struktur data Stack Implementasikan Shunting Yard Algorithm
  19. 19. Evaluasi Postfix Infix  3+4*2/(1-5) Postfix  342*15-/+ Gunakan Stack Token Stack Operasi3 3 Push4 4 3 Push2 2 4 3 Push* 3 Pop 2, Pop 4, Multiply 83
  20. 20. Evaluasi Postfix Token Stack Operasi1 1 8 3 Push5 5 1 8 3 Push- 8 3 Pop 5, Pop 1, Substract -4 8 3/ 3 Pop -4, Pop 8, Divide -2 3+ Pop -2, Pop 3, Add 1
  21. 21. Tiada hari tanpa Subversion Update Make changes Examine changes Resolve conflicts Commit changes
  22. 22. Sehari-hari Bersama SVN SVN Update Lihat perubahan, svn diff Membuat direktori  Mkdir namaFolder Tambahkan ke svn management  Svn add namaFolder Melihat file / folder yang belum di-manage  Svn status
  23. 23. Update dan Make Changes Setelah checkout, kerjakan modul masing-masing  svn update Edit berkas Menambahkan berkas  svn add README.txt Membuat folder baru  svn mkdir data
  24. 24. Examine Changes Lihat status perubahan  svn status Lihat perubahan setiap berkas  svn diff Kembalikan ke versi sebelumnya  svn revert
  25. 25. Commit Changes Setelah melakukan perubahan  svn commit -m "Keterangan perubahan." --username barliant@gmail.com  Edit dan Review perubahan dengan svn commit  Set environment variabel SVN_EDITOR = notepad
  26. 26. Resolve ConflictsTop piece of breadMayonnaiseLettuceTomatoProvolone<<<<<<< .mineSalamiMortadellaProsciutto=======SauerkrautGrilled Chicken>>>>>>> .r2Creole MustardBottom piece of bread
  27. 27. Pemeriksaan Progress Tugas svn log --verbose svn diff svn list --verbose
  28. 28. Update Working Copy Svn checkout URL namaFolder –username namaUser Cd namaFolder Svn update  A ddition  U pdate  D elete  mer G e  C onflict
  29. 29. Tips Command Prompt Pindah folder  Cd namaFolder  Cd .. Menyalin berkas  Copy Membuat folder  Mkdir Menghapus berkas  Del Menghapus folder  Rmdir
  30. 30. Tips Command Prompt Panah atas, Panah bawah  Mengulan perintah yang sudah diketikkan
  31. 31. Topik-topik Lanjutan Project automation  Makefile (C, C++)  Ant (Java)  Setup (Python) Deployment  Software packaging  Paket instalasi
  32. 32. Topik-topik Lanjutan Dokumentasi  Bagaimana membuat dokumentasi yang baik?  Literate programming  Java doc  Doxygen  Docstring Code Branching  Release code to public  Development still on the go
  33. 33. Topik-topik Lanjutan Software Ticketing / Bug Tracking Bagaimana menerima laporan bug (incident) dari user?
  34. 34. Topik-topik Menarik Social aspect  Banyak developer (khususnya OSS) tak pernah bertemu tatap muka!  Start-up companies Varieties of softwares  Games (yang berkualitas?)
  35. 35. Pustaka http://en.wikipedia.org/wiki/Shunting-yard_algorithm http://en.wikipedia.org/wiki/Edsger_W._Dijkstra http://code.google.com/ http://tortoisesvn.tigris.org/ http://www.sliksvn.com/en/download tjerdastangkas.blogspot.com/search/label/ikp321

×